Mapbox GL JS FlyToが「到着」したことを確認する方法


12

Mapboxのflytoカメラの動きがアクションを完了し、正しい位置とズームレベルに配置されたときに、オーバーレイを表示したいと思います。そのアクションがいつ完了したかを知る方法はありますか?

したがって、基本的には、ある位置まで飛んでからオーバーレイを表示します。

回答:


16

これを実現するには、いくつかのマップイベントリスナーと変数を次のように組み合わせます。

ユーザーがマウスまたはキーボードでマップを移動またはズームしたときにツールチップが表示されないようにするには、ユーザーが「フライ」ボタンをクリックしたかどうかを決定する変数が必要です。

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/


どー。私はそのイベントのリストを見て、moveendを見たことはありません。ありがとうございました!
Bill Thornton

おい、本当に感謝しているよ!これはうまくいきます!
willbeeler 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.