Polygon.fromJson constructor Null safety

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

Creates a Polygon from a GeoJSON Map.

Implementation

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

  List<LinearRing> rings =
      (json['geometry']['coordinates'] as List<List<dynamic>>)
          .map((List<dynamic> shape) => LinearRing(
              shape.map((dynamic c) => Coordinate.fromJson(c)).toList()))
          .toList();
  return Polygon(rings,
      properties: Map<String, dynamic>.from(json['properties']));
}