ol之地图定位
ol之地图定位
1.通过extent定位
let extent = vectorSource.getExtent() this.view.fit(extent)
2.通过点、zoom定位
this.view.setZoom(_zoomLevel); this.view.setCenter(ol.extent.getCenter(feature.getGeometry().getExtent()));
3.定位到多个点
可通过一下方法获取到多个点的extent,然后使用fit定位。
ol/extent.boundingExtent(coordinates)
例:
let coordinates = [[120.61700857758387,31.26619926018776],[120.6084950447106,31.26619926018776],[120.61700857758387,31.26619926018776]] this.view.fit(ol.extent.boundingExtent(coordinates))
注:
当需要定位到点是可以写缓冲:
let extent = vectorSource.getExtent() this.view.fit(ol.extent.buffer(extent, 10000))
但是缓冲的值为固定值,适配性较差。可定位后将zoom级别减少一级:
this.view.setZoom(this.view.getZoom() - 1)
如果需要定位到多个点,可将多个点放置在一个图层内,获取该图层的extent。然后使用setCenter完成定位。
钻研不易,转载请注明出处。。。。。。