fitCameraToPolygons static method

Future<void> fitCameraToPolygons({
  1. required List<Polygon<Object>>? polygons,
  2. required MapController mapController,
  3. EdgeInsets? padding,
  4. LazyloadMapLayer? mapLazyloader,
  5. Function? onEnd,
})

remap camera to Polygons bounding box with @param: padding for spacing in pixel

Implementation

static Future<void> fitCameraToPolygons(
  {
    required List<Polygon>? polygons,
    required MapController mapController,
    EdgeInsets? padding,
    LazyloadMapLayer? mapLazyloader,
    Function? onEnd,
  }
) async {
  if (polygons?.isEmpty == true) return; //does nothing if there are no plots

  //FIXME add line, point.

  List<LatLng> coords = [];

  for (var coord in polygons!) {
    coords.addAll(coord.points);
  }

  CameraFit fit = CameraFit.coordinates(
    coordinates: coords,
    padding: padding ?? EdgeInsets.all(__defaultPadding),
  );

  if(mapLazyloader != null) mapLazyloader.clearLastRefreshedBounds();
  mapController.fitCamera(fit);
  if(onEnd != null) onEnd();
}