与 OpenLayers 3.20 ,当 ol.View
上的动画正在进行时,change:resolution
事件会被多次触发。在该版本之前,它仅被触发一次。 change:center
也是如此。
我的问题是这样的:有没有办法知道动画何时开始(这将是我想要绑定(bind)某种事件监听器的钩子(Hook))并从那里获得动画结束时的分辨率?基本上,我想知道是否有可能在 3.20 之前获得以前的行为。
最佳答案
是的,如果您使用 ol.View#animate
,有一种方法 - 在动画结束时使用回调:
map.getView().animate({
center: ol.proj.fromLonLat([37.6178, 55.7517]),
zoom: 5
}, animateCallback);
function animateCallback (complete) {
if (complete) {
console.log(map.getView().getResolution());
console.log(map.getView().getZoom());
}
}
关于javascript - 如何在OL3中动画后获得 'end'分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41263869/