gpt4 book ai didi

javascript - 如果用户开始拖动 map ,则取消 OpenLayers.Map 当前的 panTo 补间

转载 作者:行者123 更新时间:2023-11-28 01:14:31 27 4
gpt4 key购买 nike

我注意到,如果用户在 panTo 函数完成之前拖动 map , map 将继续沿之前的平移方向平移。

这是一个具有较长平移持续时间的快速 jsfiddle,可以轻松重现效果:

http://jsfiddle.net/a8kK4/58/

map.panTo( xy ); // code for jsfiddle link

如果用户开始拖动 map ,是否有任何直接的方法可以取消当前的平移事件?

最佳答案

我修复了它,但我不确定这是否是最好的方法。基本上,我所做的就是在 map 的 moveend 事件中调用 panTween.stop,同时将 panTween 的回调设置为 null,否则循环将继续 - 请参阅此处的 OpenLayers.Tween stop`函数:http://trac.osgeo.org/openlayers/browser/trunk/openlayers/lib/OpenLayers/Tween.js

总之,我在 init 函数的末尾添加了以下三行:

map.events.register('moveend', map, function(){           
this.panTween.callbacks=null;
this.panTween.stop();
});

更新的 fiddle :http://jsfiddle.net/a8kK4/62/

关于javascript - 如果用户开始拖动 map ,则取消 OpenLayers.Map 当前的 panTo 补间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23998897/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com