Tit*_*men 5 javascript geoserver openlayers-3
我使用OpenLayers3创建了一个地图.我可以使用以下代码成功缩放到地图上的图层:
map.getView().fit(extent, map.getSize());
Run Code Online (Sandbox Code Playgroud)
然而,我喜欢用动画方式类似的东西.
我知道以下动画:
ol.animation.pan
ol.animation.zoom
Run Code Online (Sandbox Code Playgroud)
通过使用这些我无法缩放到一个图层,使用ol.animation.pan我只能平移到一个点(而不是一个边界框)并使用ol.animation.zoom我可以缩放到一个分辨率(而不是一个分辨率)外接矩形框).所以我正在寻找的是一个动画.fit,所以我可以缩放动画到一定程度.
关于如何实现这一点的任何建议将不胜感激:)
从v3.20.0开始,OpenLayers有一个新duration选项ol.View#fit().要将1秒动画设置为适合范围,请将其设置为1000:
// OpenLayers v3.20.x
view.fit(extent, size, {duration: 1000});
Run Code Online (Sandbox Code Playgroud)
另请注意,从v3.21.0开始,ol.View#fit()简化了API - 它不再需要设置大小(除非页面上有多个地图):
// OpenLayers >= v3.21.0
view.fit(extent, {duration: 1000});
Run Code Online (Sandbox Code Playgroud)
小智 0
我刚刚这样解决了
var view = map.getView()
var pan = ol.animation.pan({ source: view.getCenter() });
var zoom = ol.animation.zoom({ resolution: view.getResolution() });
map.beforeRender(pan, zoom);
view.fit(extent, map.getSize())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
969 次 |
| 最近记录: |