如何确定Mapbox GL JS FlyTo何时“到达”


12

我想在Mapbox飞向相机运动完成其动作并处于正确位置和缩放级别的情况下显示一个叠加层。有没有办法知道该动作何时完成?

因此,基本上飞到某个位置然后显示叠加层。

Answers:


17

您可以通过将一些地图事件侦听器和一个变量组合如下来实现此目的。

为了防止用户通过鼠标或键盘移动或缩放地图时出现提示,您将需要一个变量来确定您的用户是否单击了“飞行”按钮:

map.on('flystart', function(){
    flying = true;
});
map.on('flyend', function(){
    flying = false;
});

然后,一旦您的地图停止移动和缩放,该代码就会执行:

map.on('moveend', function(e){
   if(flying){
      // tooltip or overlay here
      map.fire(flyend); 
   }
});

观看演示:http : //jsfiddle.net/ft7s8son/


h 我查看了事件列表,但从未见过Moveend。谢谢!
比尔·桑顿

杜德,我真的很感激!这很棒!
willbeeler '17
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.