Es wäre schön, wenn map.fitBounds() seinen Vorgang beendet hat, einen Rückruf/dann hinzuzufügen. Heute müssen wir uns darauf verlassen, dass wir map.once('zoomend moveend', function());
hinzufügen, damit danach etwas passiert.
Um beispielsweise einen Marker nach dem Erscheinen abprallen zu lassen, muss ich:
var marker = getMarker();
map.once('zoomend moveend', ()=>{bounceMarker(marker);});
map.fitBounds(marker.getBounds());
Wäre schön, so etwas zu machen:
map.fitBounds(marker.getBounds()).then(()=>{bounceMarker(marker);});
Es wäre toll, wenn Kartenfunktionen, die den Kartenstatus ändern, Promise
Was ich getan habe, war, meiner Karte eine Methode hinzuzufügen (verwendet jquery-Versprechen, kann aber leicht ersetzt werden):
zoomToBounds: function () {
var promise = $.Deferred();
this.once("moveend", function () {setTimeout(function () {promise.resolve();}, 20);});
this.fitBounds.call(this, arguments);
return promise;
}
Können Sie $.Deferred()
durch new Promise()
ersetzen und dann einen Pull-Request erstellen?
Hilfreichster Kommentar
Es wäre toll, wenn Kartenfunktionen, die den Kartenstatus ändern,
Promise