Tôi có hai lớp geoJson đang được tải - cả hai lớp đều giống nhau cho mục đích thử nghiệm, nhưng được lấy từ hai tệp json khác nhau. Khi tôi bật và tắt các lớp trong bộ điều khiển lớp, thứ tự vẽ của các lớp thay đổi.Thay đổi thứ tự lớp khi bật/tắt lớp
Mọi ý tưởng tại sao điều này xảy ra?
Tôi đã đặt mã của tôi vào một JSFiddle: http://jsfiddle.net/lprashad/ph5y9/10/ và JS là dưới đây:
//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
Tôi không thấy bất cứ điều gì trên jsfiddle của bạn. –
JSFiddle của bạn không hoạt động. Tuy nhiên, các lớp của bạn không nên thay đổi thứ tự khi bật/tắt bằng điều khiển Lớp. Xem tùy chọn 'autoZIndex' trong phần L.Control.Layers trong API: http://leafletjs.com/reference.html#control-layers. Có cơ hội nào bạn đang thay đổi các lớp ngoài tầm kiểm soát này không? –
Tôi đã sửa JSFiddle: http://jsfiddle.net/lprashad/ph5y9/, cảm ơn bạn. Tôi cũng đã thử autoZindex được đặt thành true, nhưng điều này không giúp ích gì. Nếu bạn tắt cả hai lớp đầu nguồn, sau đó bật lớp màu xanh, sau đó là lớp màu da cam trong Kiểm soát lớp - bạn sẽ thấy các lớp kết thúc theo thứ tự vẽ khác với khi bản đồ khởi tạo. – Lee