Масштабирование и центрирование
Масштабирование и центрирование - это основные функции карты, которые позволяют пользователям регулировать уровень масштаба и фокусироваться на определенных географических местоположениях в пределах отображения карты.
Дополнение Maps предоставляет методы, которые разработчики могут использовать для программного управления этими функциями.
Давайте рассмотрим некоторые методы класса GeoMap:
- 
setCenter()- задает центральную географическую точку в видимой области карты. Координаты должны быть предоставлены в проекции карты, конкретно вEPSG:4326. В случае, если проекция карты была изменена с помощьюsetProjection(CRS), координаты должны быть указаны в этой скорректированной проекции. Важно различать проекцию карты и проекцию отображения, настроенную вGeoMapViewкарты. Проекция отображения влияет на то, как данные карты понимаются и отображаются, тогда как проекция карты задает систему координат для всех координат, передаваемых через публичный API.
- 
setZoom(double zoom)- устанавливает карту на определенный уровень масштаба. Уровень масштаба начинается с 0, что представляет вид с максимальным отдалением, и увеличивается по мере приближения для детального просмотра.
- 
zoomToExtent(Extent)- устанавливает видимую область карты так, чтобы она охватывала предоставленные географические границы с максимально возможным уровнем масштаба. Extent (экстент) - это ограничивающая рамка, которая определяет конкретную географическую область на карте. Экстент представлен набором координат: минимальные (левая, нижняя) и максимальные (правая, верхняя) координаты, которые очерчивают границы прямоугольной области на карте. Для более продвинутого метода масштабирования до определенного экстента используйте методfit(FitOptions).
- 
zoomToGeometry(SimpleGeometry)- устанавливает видимую область карты так, чтобы она охватывала оболочку предоставленной геометрии с максимально достижимым уровнем масштаба.Если предоставленная геометрия - это Point, карта будет центрирована на этой точке при текущем уровне масштаба.Более продвинутый метод масштабирования до определенной геометрии может быть достигнут с помощью метода fit(FitOptions).
- 
zoomToFeature(Feature)- служебный метод, который извлекает геометрию из предоставленной сущности и делегирует вызов методуzoomToGeometry(SimpleGeometry).
- 
fit(FitOptions)- корректирует предоставленную геометрию или экстент в соответствии с указанным размером карты, настройками границ и указанными опциями. Например, чтобы установить максимальный уровень масштаба и включить анимацию, можно использовать следующий подход:protected GeometryFactory geometryFactory = GeometryUtils.getGeometryFactory(); @ViewComponent private GeoMap map; @Subscribe("map") public void onMapMapSingleClick(final MapSingleClickEvent event) { map.fit(new FitOptions(new PointFeature( geometryFactory.createPoint(event.getCoordinate()))) .withDuration(2000) .withEasing(Easing.LINEAR) .withMaxZoom(20d)); }FitOptionsиспользуются для настройки того, как отображение карты должно подстраиваться под конкретный экстент или геометрию. Эти опции предоставляют разработчикам контроль над такими аспектами, как уровень масштаба, длительность анимации, функции сглаживания и другие параметры, связанные с подгонкой отображения карты.Для получения дополнительной информации обратитесь к документации для View.