map.fitBounds()が操作を終了するたびに、コールバックを追加してから、コールバックを追加すると便利です。 今日、私たちは後で何かを起こすためにmap.once('zoomend moveend', function());
を追加することに頼らなければなりません。
たとえば、表示後にマーカーをバウンスさせるには、次のことを行う必要があります。
var marker = getMarker();
map.once('zoomend moveend', ()=>{bounceMarker(marker);});
map.fitBounds(marker.getBounds());
次のようなことをするといいでしょう:
map.fitBounds(marker.getBounds()).then(()=>{bounceMarker(marker);});
マップの状態を変更するマップ関数がPromise
を返すと
私がしたことは、マップにメソッドを追加することでした(jquery promiseを使用しますが、簡単に置き換えることができます):
zoomToBounds: function () {
var promise = $.Deferred();
this.once("moveend", function () {setTimeout(function () {promise.resolve();}, 20);});
this.fitBounds.call(this, arguments);
return promise;
}
$.Deferred()
をnew Promise()
置き換えて、プルリクエストを作成できますか?
最も参考になるコメント
マップの状態を変更するマップ関数が
Promise
を返すと