getBoundsCenterZoom method

CenterZoom getBoundsCenterZoom(
  1. LatLngBounds bounds,
  2. FitBoundsOptions options
)

Implementation

CenterZoom getBoundsCenterZoom(
    LatLngBounds bounds, FitBoundsOptions options) {
  final paddingTL =
      CustomPoint<double>(options.padding.left, options.padding.top);
  final paddingBR =
      CustomPoint<double>(options.padding.right, options.padding.bottom);

  final paddingTotalXY = paddingTL + paddingBR;

  var zoom = getBoundsZoom(bounds, paddingTotalXY, inside: options.inside);
  zoom = math.min(options.maxZoom, zoom);

  final paddingOffset = (paddingBR - paddingTL) / 2;
  final swPoint = project(bounds.southWest!, zoom);
  final nePoint = project(bounds.northEast!, zoom);
  final center = unproject((swPoint + nePoint) / 2 + paddingOffset, zoom);
  return CenterZoom(
    center: center,
    zoom: zoom,
  );
}