缩放和居中
地图扩展组件提供了开发人员可使用的功能接口。
下面是 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 文档。