कैसे जीआरई मैप पैनिंग लेयरिंग ऑर्डर (जेड-इंडेक्स) को बदलें?


16

कैटलॉग रखता है कि मैप पैन तत्वों में नक्शे में जोड़ी गई सभी परतें शामिल हैं। मैप पैन में से कई के बीच का अंतर कड़ाई से z- सूचकांक क्रम है।

मैं lvector.CartoDB परतों के संयोजन का उपयोग करना चाहूंगा, जो अनिवार्य रूप से overlayPaneपरतें हैं , जैसे टाइलरेयर, जैसे कि GeoIQ एसीटेट-बीजी और लेबल।

यह तत्वों का क्रम है क्योंकि वे मानचित्र जोड़े जाते हैं:

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

इस क्रम में परतों के साथ एक नक्शा क्या है:

tileLayer1,tileLayer2,cartoDBLayer1

tileLayer1और tileLayer2में स्थित हैं HTMLElement: TilePaneऔर cartoDBLayer1में है HTMLElement: overlayPane

क्या cartoDBLayer1टाइलपैन में रेंडर करने के लिए बाध्य करने का कोई तरीका है , जैसे कि यह z- इंडेक्स के क्रम में पड़ता है कि इसे मैप में जोड़ा जाता है ...

अर्थात

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

जवाबों:


17

क्या आपने इस मुद्दे को एक लीफलेट गीथब रेपो बनाया है देखा है:

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

उपयोग करने का प्रयास करें

 addLayer(layer,true);

तल पर एक टाइल परत जोड़ने के लिए। मुझे डर है कि यह सब कुछ है और यह दूसरा वैकल्पिक तर्क भी प्रलेखित नहीं है।

अद्यतन सितम्बर 2014

पत्रक अब zIndex की स्थापना का समर्थन करता है । मुझे बताने के लिए टिप्पणियों में @knutole को धन्यवाद।


1
+1 यहाँ एक अनिर्दिष्ट सुविधा का उल्लेख करने के लिए, इस प्रकार इसे प्रलेखित करना। :)
fgysin

7
अब एक layer.setZIndex(zIndex)फ़ंक्शन उपलब्ध है।
knutole

5
धन्यवाद - layer.setZIndex(99)मेरे लिए वेक्टर सिम्बोलॉजी (लाइन और बहुभुज सुविधाओं) के साथ काम करना प्रतीत नहीं होता है, लेकिन layer.bringToFront()चाल का उपयोग किया।
कुछ भी नहीं
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.