Come modificare l'ordine di stratificazione dei riquadri di Leaflet Map (indice z)?


16

Il volantino sostiene che gli elementi dei riquadri Mappa contengono tutti i livelli aggiunti alla mappa. La differenza tra molti dei riquadri Mappa è strettamente l'ordine di stratificazione dell'indice z.

Vorrei utilizzare una combinazione di livelli lvector.CartoDB, che sono essenzialmente overlayPanestrati, con TileLayer, come GeoIQ Acetate-bg ed etichette.

Questo è l'ordinamento degli elementi man mano che vengono aggiunti alla mappa:

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

Ciò che ritorna è una mappa con livelli in questo ordine:

tileLayer1,tileLayer2,cartoDBLayer1

tileLayer1e tileLayer2sono situati in HTMLElement: TilePaneed cartoDBLayer1è in HTMLElement: overlayPane.

Esiste un modo per forzare il cartoDBLayer1rendering nel TilePane, in modo che rientri nell'ordine dell'indice z che viene aggiunto alla mappa in ...

vale a dire

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

Risposte:


17

Hai visto questo problema creare uno dei repository github LeafLet:

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

prova ad usare

 addLayer(layer,true);

per aggiungere uno strato di piastrelle in fondo. Temo che sia tutto ciò che c'è e questo secondo argomento facoltativo non è nemmeno documentato.

Aggiornamento settembre 2014

Il volantino ora supporta l'impostazione di zIndex . Grazie a @knutole nei commenti per avermelo fatto notare.


1
+1 per aver menzionato una caratteristica non documentata qui, documentandola così. :)
Fgysin ripristina Monica il

7
Ora è layer.setZIndex(zIndex)disponibile una funzione.
knutole,

5
Grazie - layer.setZIndex(99)non sembra funzionare per me con la simbologia vettoriale (linea e poligoni), ma usare ha layer.bringToFront()fatto il trucco.
nothingisnecessary
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.