Mam dwie załadowane warstwy geoJson - obie warstwy są tymi samymi danymi do celów testowych, ale są rysowane z dwóch różnych plików json. Kiedy włączam i wyłącza warstwy w kontrolerze warstw, kolejność rysowania warstw zmienia się.Zmiana kolejności warstw podczas włączania/wyłączania warstwy
Jakieś pomysły, dlaczego tak się dzieje?
Włożyłem mój kod do JSFiddle: http://jsfiddle.net/lprashad/ph5y9/10/ i JS jest poniżej:
//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
Nic nie widzę na twoim jsfiddle. –
Twój JSFiddle nie działa. Jednak twoje warstwy nie powinny zmieniać kolejności przy włączaniu/wyłączaniu za pomocą kontrolki Warstwy. Zobacz opcję 'autoZIndex' w sekcji L.Control.Layers w interfejsie API: http://leafletjs.com/reference.html#control-layers. Czy jest szansa, że zmieniasz warstwy poza tą kontrolą? –
Naprawiłem JSFiddle: http://jsfiddle.net/lprashad/ph5y9/, dziękuję. Próbowałem również ustawić autoZindex na true, ale to nie pomaga. Jeśli wyłączysz obie warstwy działu wodnego, a następnie włączysz niebieską warstwę, a następnie pomarańczową warstwę w warstwie kontrolnej - zobaczysz, że warstwy kończą się w innej kolejności rysowania niż podczas inicjowania mapy. – Lee