取消OpenLayers.如果用户开始拖拽地图,映射当前的panTo补间
Canceling an OpenLayers.Map current panTo tween if user begins dragging map
我注意到,如果用户在panTo函数完成之前拖动地图,地图将继续在先前的平移方向上平移。
这里有一个快速的调整,使用较长的平移时间,使效果更容易重现:
http://jsfiddle.net/a8kK4/58/map.panTo( xy ); // code for jsfiddle link
如果用户开始拖动地图,是否有直接取消当前平移事件的方法?
我修复了它,虽然我不确定这是否是最好的方法。基本上,我只是打了个电话给万圣节。在map的moveend事件中停止,但也将panTween的回调设置为null,否则,循环继续——参见OpenLayers。渐变停止函数: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();
});
更新小提琴:http://jsfiddle.net/a8kK4/62/
相关文章:
- 补间轻松和ESLINT
- 如何禁用创建 js 补间
- 在两个值之间插值或“补间”(但不进行动画处理)
- CreateJS:吐温JS时间轴补间多次更改属性而不链接
- 使用一个通用缓动函数 (GSAP) 运行多个补间
- 所有元素 ID 的补间最大重用函数
- 补间最大动画 无法分配给只读属性“_gsTweenID”
- 补间.js和三.js的平滑旋转错误
- 计算给定所需起始速度的 GSAP 缓和补间持续时间
- 使用滚动魔术的文本框的补间不透明度
- 如何为补间分配额外的属性.js ( https://github.com/sole/tween.js/ )
- 补间.js添加事件侦听器后不调用调用函数
- 未捕获的类型错误: 无法读取未定义 Phaser.io 的属性“补间”
- 补间.js中的暂停时间
- 补间.js不调用更新函数
- 如何在 motools 中使用元素方法变形或补间延迟或设置杜累
- GSAP 补间/补间最大垃圾收集、引用和性能
- 添加补间.js后不会触发按钮单击事件
- 三.js - 如何让相机在补间期间看物体
- 取消OpenLayers.如果用户开始拖拽地图,映射当前的panTo补间