Sería bueno agregar una devolución de llamada / luego cada vez que map.fitBounds () finalice su operación. Hoy tenemos que confiar en agregar map.once('zoomend moveend', function());
para que algo suceda después.
Por ejemplo, para hacer que un marcador rebote después de aparecer, tengo que:
var marker = getMarker();
map.once('zoomend moveend', ()=>{bounceMarker(marker);});
map.fitBounds(marker.getBounds());
Sería bueno hacer algo como:
map.fitBounds(marker.getBounds()).then(()=>{bounceMarker(marker);});
Sería genial si las funciones de mapa que modifican el estado del mapa devuelvan Promise
Lo que hice fue agregar un método a mi mapa (usa la promesa jquery, pero se puede reemplazar fácilmente):
zoomToBounds: function () {
var promise = $.Deferred();
this.once("moveend", function () {setTimeout(function () {promise.resolve();}, 20);});
this.fitBounds.call(this, arguments);
return promise;
}
¿Puedes reemplazar $.Deferred()
con new Promise()
y luego crear una solicitud de extracción?
Comentario más útil
Sería genial si las funciones de mapa que modifican el estado del mapa devuelvan
Promise