fromMap static method
Implementation
static GeoGeometry fromMap(Map<String, dynamic> json) {
var coords = json["coordinates"] as List;
var color =
Color((math.Random().nextDouble() * 0xFFFFFF).toInt()).withOpacity(1.0);
if (json["type"] == "Polygon") {
var points = coords.map((e) {
return (e as List).map((e) => _latLng(e)).toList();
}).toList();
return GeoGeometry.polygon(
points.expand((element) => element).toList(), color);
} else if (json["type"] == "MultiPolygon") {
List<List<List<LatLng>>> multiPoints = [];
coords.asMap().forEach((l1Index, l1) {
multiPoints.add([]);
l1.asMap().forEach((l2Index, l2) {
multiPoints[l1Index].add([]);
l2.asMap().forEach((l3Index, l3) {
multiPoints[l1Index][l2Index].add(_latLng(l3));
});
});
});
return GeoGeometry.multiPolygon(multiPoints, color);
} else if (json["type"] == "LineString") {
var points = coords.map((e) => _latLng(e)).toList();
return GeoGeometry.linestring(points, color);
} else {
return GeoGeometry.point(_latLng(coords), color);
}
}