Leaflet maintient que les éléments des volets Carte contiennent toutes les couches ajoutées à la carte. La différence entre de nombreux volets de la carte est strictement l'ordre de z-index de la superposition.
Je voudrais utiliser une combinaison de couches lvector.CartoDB, qui sont essentiellement des overlayPane
couches, avec TileLayer, telles que GeoIQ Acetate-bg et des étiquettes.
Voici l'ordre des éléments au fur et à mesure qu'ils s'ajoutent à la carte:
tileLayer1 = new L.TileLayer();
map.add(tileLayer1); // add first layer to map
cartoDBLayer1 = new lvector.CartoDB();
cartoDBLayer.setMap(map); // add second layer to map
tileLayer2 = new L.TileLayer();
map.add(tileLayer2); // add third layer to map
Ce qui renvoie est une carte avec des couches dans cet ordre:
tileLayer1,tileLayer2,cartoDBLayer1
tileLayer1
et tileLayer2
sont situés dans le HTMLElement: TilePane
et cartoDBLayer1
est en HTMLElement: overlayPane
.
Existe-t-il un moyen de forcer cartoDBLayer1
le rendu dans le TilePane, de sorte qu'il tombe dans l'ordre du z-index dans lequel il est ajouté à la carte ...
c'est à dire
z-index[0]:tileLayer1
z-index[1]:cartoDBLayer1
z-index[2]:tileLayer2
layer.setZIndex(zIndex)
fonction disponible.layer.setZIndex(99)
ne semble pas fonctionner pour moi avec la symbologie vectorielle (traits linéaires et polygonaux), mais l'utilisation alayer.bringToFront()
fait l'affaire.