MapDataSource.geometries constructor

MapDataSource.geometries(
  1. List<MapGeometry> geometries
)

Loads a MapDataSource from geometries. MapDataSource features will have no properties.

Implementation

factory MapDataSource.geometries(List<MapGeometry> geometries) {
  Rect? boundsFromGeometry;
  int pointsCount = 0;
  Map<int, MapFeature> featuresMap = Map<int, MapFeature>();
  int id = 1;
  for (MapGeometry geometry in geometries) {
    featuresMap[id] = MapFeature(id: id, geometry: geometry);
    pointsCount += geometry.pointsCount;
    if (boundsFromGeometry == null) {
      boundsFromGeometry = geometry.bounds;
    } else {
      boundsFromGeometry =
          boundsFromGeometry.expandToInclude(geometry.bounds);
    }
    id++;
  }

  return MapDataSource._(
      features: UnmodifiableMapView<int, MapFeature>(featuresMap),
      bounds: boundsFromGeometry,
      pointsCount: pointsCount);
}