Leaflet behauptet, dass die Elemente des Kartenfensters alle der Karte hinzugefügten Ebenen enthalten. Der Unterschied zwischen vielen Kartenfenstern ist ausschließlich die Z-Index-Reihenfolge der Ebenen.
Ich möchte eine Kombination von lvector.CartoDB-Layern, die im Wesentlichen overlayPane
Layer sind, mit TileLayer wie GeoIQ Acetate-bg und Labels verwenden.
Dies ist die Reihenfolge der Elemente, wenn sie der Karte hinzugefügt werden:
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
Was zurückkommt, ist eine Karte mit Layern in dieser Reihenfolge:
tileLayer1,tileLayer2,cartoDBLayer1
tileLayer1
und tileLayer2
befinden sich in HTMLElement: TilePane
und cartoDBLayer1
in HTMLElement: overlayPane
.
Gibt es eine Möglichkeit, cartoDBLayer1
das Rendern im TilePane zu erzwingen , sodass es in der Reihenfolge des Z-Index abfällt, in der es der Karte in ...
dh
z-index[0]:tileLayer1
z-index[1]:cartoDBLayer1
z-index[2]:tileLayer2
layer.setZIndex(zIndex)
Funktion verfügbar.layer.setZIndex(99)
scheint bei mir nicht mit Vektorsymbologie (Linien- und Polygon-Features) zu funktionieren, aber mitlayer.bringToFront()
hat es geklappt.