OSRMRoad.fromOSRMJson constructor

OSRMRoad.fromOSRMJson({
  1. 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>[],
    );