toJson method
Implementation
Map<String, dynamic> toJson() {
final Map<String, dynamic> optionsMap = <String, dynamic>{};
void addIfNonNull(String fieldName, dynamic value) {
if (value != null) {
optionsMap[fieldName] = value;
}
}
addIfNonNull('originPoint', origin?.toJson());
addIfNonNull('destinationPoint', destination?.toJson());
addIfNonNull('originELoc', originELoc);
addIfNonNull('destinationELoc', destinationELoc);
if (waypoint != null) {
optionsMap['waypointPoint'] =
List.generate(waypoint!.length, (index) => waypoint![index].toJson());
}
addIfNonNull('profile', profile);
addIfNonNull('resource', resource);
addIfNonNull('overview', overview);
addIfNonNull('geometries', geometries);
addIfNonNull('waypointELoc', waypointELoc);
addIfNonNull('excludes', excludes);
addIfNonNull('annotations', annotations);
addIfNonNull('routeType', routeType);
addIfNonNull('steps', steps);
addIfNonNull('alternatives', alternatives);
addIfNonNull('approaches', approaches);
addIfNonNull('bearing', bearing?.toJson());
addIfNonNull('waypointIndices', waypointIndices);
addIfNonNull('waypointNames', waypointNames);
if (waypointTargets != null) {
optionsMap['waypointTargets'] = List.generate(
waypointTargets!.length, (index) => waypointTargets![index].toJson());
}
addIfNonNull('bannerInstructions', bannerInstructions);
addIfNonNull('isSort', isSort);
addIfNonNull('lessVerbose', lessVerbose);
addIfNonNull('radiuses', radiuses);
addIfNonNull('routeRefresh', routeRefresh);
addIfNonNull('deviceId', deviceId);
addIfNonNull('roundaboutExits', roundaboutExits);
addIfNonNull('sessionId', sessionId);
addIfNonNull('voiceInstructions', voiceInstructions);
addIfNonNull('voiceUnits', voiceUnits);
addIfNonNull('skipWaypoints', skipWaypoints);
return optionsMap;
}