2017-08-11 16 views
1

ジオコーダーの内側でmap.getBoundsを呼び出すと、私はいつも以前の結果が得られます。 ジオコードが目的地に飛んだ後に、境界を取得するためのコールバックなどがありますか?ここに私のコードは次のとおりです。MapboxGeocoder flytoイベントの後に境界を取得する方法は?

var geocoder = new MapboxGeocoder({accessToken: mapboxgl.accessToken}); 
geocoder.on('result', function(ev) { 

     console.log("CENTER:",ev.result.center); 
     console.log("BOUNDS:",map.getBounds()); 
     //loadByBounds(map.getBounds()); 
    }); 

答えて

1

たぶん、あなたは、イベントリスナーを適用することにより、mooveendイベントに反応することができます。

"Mooveend: Fired just after the map completes a transition from one view to another, as the result of either user interaction or methods such as Map#jumpTo."

https://www.mapbox.com/mapbox-gl-js/api/#map.event:moveend

+0

おかげで、どのようにすべてのマップMooveendイベントに一度だけしかジオコーダにはなく、それを適用するには? – SERG

+1

Hm良い質問があります。おそらく、ジオコーダーが結果を得たときに設定するフラグを追加することができます。また、 'map.once'は、リスナーが複数回起動するのを防ぎます。私は簡単なjsfiddleを作った:https://jsfiddle.net/andi_lo/cbfsnanw/ –

関連する問題