我在OpenLayers地图上一直展示个行程轨迹动画,用的overlay+CSS3(transition)来实现,当在地图被拖动或放大缩小时要暂停动画(不暂停overlay会飘),所以我用了map的movestart事件来暂停动画,就有了下面面的代码。
map.on("movestart", function(evt){
mapMoving = true;
animationOff();
});
在动画的过程中,到达途经点会有居中行为,也就是map.getView().setCenter(coord),调整地图中心,但发现setCenter也会触发movestart事件,会导致动画意外中止,破坏了动画效果。我的思路是能不能在evt参数中找到事件源,如果是setCenter引发,就不停止动画?还有没有其它更好的方法呢?