Suite

Détection de l'événement « load » ou « done » après avoir défini un nouveau CartoCSS à l'aide de set() dans cartodb.js

Détection de l'événement « load » ou « done » après avoir défini un nouveau CartoCSS à l'aide de set() dans cartodb.js


Je charge une couche de tuiles de données cartographiques sur une carte Leaflet à l'aide de cartodb.

Lors de l'entrée de l'utilisateur, la carte reconfigure son CartoCSS pour afficher les données différemment. Exemple ci-dessous.

layer.on({ click: function(e){ dataLayer.getSubLayer(0).set({ cartocss: "#export { polygon-opacity: 0; }" }).on("load", function(){ console .log("charger"); }); } });

J'aimerais pouvoir détecter quand la couche reconfigurée s'est chargée - il y a parfois un décalage considérable - avec un événement "done" ou "load". Mais ni l'un ni l'autre ne fonctionne comme indiqué ci-dessus, et la documentation ne donne aucune indication quant à une promesse/événement spécial pour.ensemble().


Les événements de chargement semblent être pris en charge (mais ne sont pas documentés) sur le dataLayer, mais comme les promesses ne sont pas prises en charge, vous devrez configurer l'écouteur avant d'appeler leensemble, par exemple:

dataLayer.on("load", function() { console.log('couche modifiée'); }); dataLayer.getSubLayer(0).set({ cartocss : "#export { polygone-opacité : 0 ; }"
});


Voir la vidéo: Using v4