¿Cómo cambiar el orden de capas de los paneles Mapa de folleto (índice z)?


16

Leaflet mantiene que los elementos de los paneles de Mapa contienen todas las capas agregadas al mapa. La diferencia entre muchos de los paneles Map es estrictamente el orden del índice z de capas.

Me gustaría usar una combinación de lvector.CartoDB capas, que son esencialmente overlayPanecapas, con TileLayer, como GeoIQ Acetate-bg y etiquetas.

Este es el orden de los elementos a medida que se agregan al mapa:

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

Lo que regresa es un mapa con capas en este orden:

tileLayer1,tileLayer2,cartoDBLayer1

tileLayer1y tileLayer2están situados en el HTMLElement: TilePaney cartoDBLayer1está en HTMLElement: overlayPane.

¿Hay alguna forma de forzar el cartoDBLayer1renderizado en el TilePane, de modo que caiga en el orden del índice z que se agrega al mapa en ...

es decir

z-index[0]:tileLayer1
z-index[1]:cartoDBLayer1
z-index[2]:tileLayer2 

Respuestas:


17

¿Has visto que este problema creó uno en el repositorio de LeafLet github:

https://github.com/Leaflet/Leaflet/issues/167

tratar de usar

 addLayer(layer,true);

para agregar una capa de mosaico en la parte inferior. Me temo que eso es todo lo que hay y este segundo argumento opcional ni siquiera está documentado.

Actualización de septiembre de 2014

Leaflet ahora admite la configuración de zIndex . Gracias a @knutole en los comentarios por hacérmelo saber.


1
+1 por mencionar una característica no documentada aquí, y así documentarla. :)
fgysin reintegra a Monica el

77
Ahora hay una layer.setZIndex(zIndex)función disponible.
knutole

55
Gracias, layer.setZIndex(99)no parece funcionar para mí con la simbología vectorial (características de línea y polígono), pero el uso layer.bringToFront()funcionó.
nada es necesario
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.