Ho due layer geoJson in fase di caricamento: entrambi i layer sono gli stessi dati a scopo di test, ma vengono estratti da due file json diversi. Quando accendo e spengo i livelli nel controller del livello, l'ordine di disegno dei livelli cambia.Modifica ordine layer attivando/disattivando layer
Qualche idea del perché questo sta accadendo?
Ho posto il mio codice in un JSFiddle: http://jsfiddle.net/lprashad/ph5y9/10/ e il JS è qui sotto:
//styling for watersheds_copy
var Orange = {
"color": "#ff7800",
"weight": 5,
"opacity": 0.65
};
var Water_Orange = L.geoJson(watersheds_copy, {
style: Orange
});
Water_Orange.addData(watersheds_copy);
//these are blue
var Water_blue = L.geoJson(watersheds, {});
Water_blue.addData(watersheds);
//This sets the inital order - last in layer list being on top. Except minimal - tile layer is always on bottom
var map = L.map('map', {
center: [41.609, -74.028],
zoom: 8,
layers: [minimal, Water_Orange, Water_blue]
});
var baseLayers = {
"Minimal": minimal,
"Night View": midnight
};
//This controls the order in the layer switcher. This does not change draw order
var overlays = {
"Water_Orange": Water_Orange,
"Water_blue": Water_blue
};
L.control.layers(baseLayers, overlays).addTo(map);
LP
Non vedo nulla sul jsfiddle. –
Il tuo JSFiddle non funziona. Tuttavia, i livelli non dovrebbero cambiare l'ordine quando si accende o si spegne con il controllo Livelli. Vedi l'opzione 'autoZIndex' nella sezione L.Control.Layers nell'API: http://leafletjs.com/reference.html#control-layers. C'è qualche possibilità che tu stia cambiando gli strati al di fuori di questo controllo? –
Ho risolto il JSFiddle: http://jsfiddle.net/lprashad/ph5y9/, grazie. Ho anche provato il set di autoZindex su true, ma questo non aiuta. Se spegni entrambi i livelli di spartiacque, quindi attiva il livello blu, quindi il livello arancione nel Controllo livelli: vedrai che i livelli finiscono in un ordine di disegno diverso rispetto a quando la mappa viene inizializzata. – Lee