MapMatchingApiResponse.fromJson constructor

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

Implementation

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

  switch (code) {
    case 'NoMatch':
      error = NavigationNoMatchError();
      break;
    case 'NoSegment':
      error = NavigationNoSegmentError();
      break;
    case 'TooManyCoordinates':
      error = NavigationTooManyCoordinatesError();
      break;
    case 'ProfileNotFound':
      error = NavigationProfileNotFoundError();
      break;
    case 'InvalidInput':
      error = NavigationInvalidInputError();
      break;
  }

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

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