OSRMRoad.fromOSRMJson constructor
OSRMRoad.fromOSRMJson({
- required Map route,
Implementation
OSRMRoad.fromOSRMJson({required Map route})
: _isError = false,
_roadLegs =
List.castFrom(route["legs"]).map((legMap) {
final List<RoadStep> roadSteps = [];
if ((legMap).containsKey("steps")) {
final List<Map<String, dynamic>> steps = List.castFrom(
legMap["steps"],
);
for (var step in steps) {
final roadStep = RoadStep.fromJson(json: step);
roadSteps.add(roadStep);
}
}
return RoadLeg(
parseToDouble(legMap["distance"]),
parseToDouble(legMap["duration"]),
steps: roadSteps,
);
}).toList(),
super(
distance: (double.parse(route["distance"].toString())) / 1000,
duration: double.parse(route["duration"].toString()),
polylineEncoded:
route["geometry"].runtimeType == String
? route["geometry"] as String
: null,
polyline:
route["geometry"] != null && route["geometry"].runtimeType != String
? List.castFrom(
route["geometry"]["coordinates"],
).map((e) => LngLat(lng: e.first, lat: e.last)).toList()
: route["geometry"] is String
? (route["geometry"] as String).decodeGeometry()
: <LngLat>[],
);