MultiLineString.fromJson constructor Null safety

  1. @override
MultiLineString.fromJson(
  1. Map<String, dynamic> json
)

Creates a MultiLineString from a valid GeoJSON object.

Example:

MultiLineString.fromJson({'type': 'Feature', 'geometry': {'type': 'MultiLineString', 'coordinates': [[[1, 2], [3, 4]]]}, 'properties': {}}); // MultiLineString([[Coordinate(1, 2), Coordinate(3, 4)]])

Implementation

@override
factory MultiLineString.fromJson(Map<String, dynamic> json) {
  if (json['geometry']['type'] != 'MultiLineString') {
    throw ArgumentError('json is not a MultiLineString');
  }

  return MultiLineString(
    json['geometry']['coordinates']
        .map((line) =>
            line.map((point) => Coordinate.fromJson(point)).toList())
        .toList(),
    properties: Map<String, dynamic>.from(json['properties']),
  );
}