DirectionsApiResponse.fromJson constructor

DirectionsApiResponse.fromJson(
  1. Map<String, dynamic> json
)

Implementation

DirectionsApiResponse.fromJson(Map<String, dynamic> json) {
  code = json['code'] as String?;
  uuid = json['uuid'] as String?;

  switch (code) {
    case 'NoRoute':
      error = NavigationNoRouteError();
      break;
    case 'NoSegment':
      error = NavigationNoSegmentError();
      break;
    case 'ProfileNotFound':
      error = NavigationProfileNotFoundError();
      break;
    case 'InvalidInput':
      error = NavigationInvalidInputError();
      break;
  }

  if (json.containsKey('waypoints') && json['waypoints'] != null) {
    waypoints = List<NavigationWaypoint>.from(
      (json['waypoints'] as List<dynamic>).map(
        (waypoint) => NavigationWaypoint.fromJson(
          waypoint as Map<String, dynamic>,
        ),
      ),
    );
  }

  if (json.containsKey('routes') && json['routes'] != null) {
    routes = List<NavigationRoute>.from(
      (json['routes'] as List<dynamic>).map(
        (route) => NavigationRoute.fromJson(
          route as Map<String, dynamic>,
        ),
      ),
    );
  }
}