DirectionsRoute.fromJson constructor

DirectionsRoute.fromJson(
  1. Map<String, dynamic> map
)

Implementation

factory DirectionsRoute.fromJson(Map<String, dynamic> map) {
  return DirectionsRoute(
    distance: map['distance'] as num?,
    duration: map['duration'] as num?,
    geometry: map['geometry'] as String?,
    legs: (map['legs'] as List?)
        ?.whereType<Map<dynamic, dynamic>>() // Filter only valid maps
        .map((leg) {
      final Map<String, dynamic> convertedMap = leg.cast<String, dynamic>();
      // final Map<String, dynamic> convertedMap = Map<String, dynamic>.from(leg);
      return Leg.fromJson(convertedMap);
    })
        .toList() ??
        [],
    routeIndex: map['routeIndex'] as String?,
    routeOptions: map['routeOptions'] != null
        ? RouteRequestParams.fromJson(
        map['routeOptions'] as Map<String, dynamic>)
        :  throw ArgumentError('routeOptions cannot be null'),
    weight: map['weight'] as num?,
    countryCode: map['countryCode'] as String?,
    weightName: map['weight_name'] as String?,
    voiceLanguage: map['voiceLocale'] as String?,
    congestion: (map['congestion'] as List<dynamic>?)
        ?.map((level) =>
        CongestionLevelExtension.fromValue(level as int))
        .toList() ??
        [],
  );
}