Seria bom adicionar um retorno de chamada / then sempre que map.fitBounds () encerrasse sua operação. Hoje temos que contar com a adição de map.once('zoomend moveend', function());
para fazer algo acontecer depois.
Por exemplo, para fazer um marcador saltar depois de aparecer, preciso:
var marker = getMarker();
map.once('zoomend moveend', ()=>{bounceMarker(marker);});
map.fitBounds(marker.getBounds());
Seria bom fazer algo como:
map.fitBounds(marker.getBounds()).then(()=>{bounceMarker(marker);});
Seria ótimo se as funções de mapa que modificam o estado do mapa retornassem Promise
O que eu fiz foi adicionar método ao meu mapa (usa promessa jquery, mas pode ser facilmente substituído):
zoomToBounds: function () {
var promise = $.Deferred();
this.once("moveend", function () {setTimeout(function () {promise.resolve();}, 20);});
this.fitBounds.call(this, arguments);
return promise;
}
Você pode substituir $.Deferred()
por new Promise()
E então criar uma solicitação pull?
Comentários muito úteis
Seria ótimo se as funções de mapa que modificam o estado do mapa retornassem
Promise