2016-12-21 3 views
0

zoomendのAND/OR moveendでイベントを探しています。
基本的に私はこれらのイベントの後に起こる必要のあるポップアップを持っています。そのポップアップはqueryRenderedFeaturesに依存しています。queryRenderedFeaturesはマップビューにある場合のみ照会できます。マップのレンダリングが完了したときに発生するイベントはありますか?

zoomendがない場合、私は現在setTimeout機能を使用していますが、これは理想的ではありません。
はい、私はこれらの両方の後に関数を追加できますが、これは面倒です。
map.on('data')イベントがありますが、map.on('data.load')などのようなものがありますか?map.on('style.load')

私が欲しいのは、もはやmap.on('data')イベントが発生しなくなった後に解雇されるものです。たぶん、これはsetIntervalまたは何かでJavascriptで行うことができます。

おかげ

答えて

0

あなたがマップがズームやドラッグされているよう継続的に発生しますmap.on('move', function() {})へのクエリ機能をバインドすることができます。

私のアプリケーションでは、map.on('move', function() {})を使用して地図の中心緯度/経度を取得します。だから私のコードは、おおよそ次のようになります。

setCenter() { 
    const center = map.getCenter() 
    // render the center coords 
} 

// later in my code 
map.on('move', this.setCenter) 

// and when I'm done 
map.off('move', this.setCenter) 
+0

あなたが 'map.on行う場合(「データ」を、機能(){はconsole.log(「テスト」)});'あなたが表示されます、あなたが移動するとマップ、一連のデータ要求があり、それらは停止します。私は、データ要求がなくなったときに発動するイベントがあるかどうか疑問に思います。別の方法として、イベントが発生しなかったときにジャバスクリプトで通知する方法が1秒間あるかどうかは疑問です。 – malcolm

+0

'.on( 'move')'関数は、マップがレンダリングされたかどうかを知らせません。 – malcolm

関連する問題