fix sorting
This commit is contained in:
+22
-6
@@ -37,10 +37,8 @@ function initMap() {
|
|||||||
map.createPane('diffPane');
|
map.createPane('diffPane');
|
||||||
map.createPane('countyPane');
|
map.createPane('countyPane');
|
||||||
|
|
||||||
// Set initial z-indices for panes
|
// Set initial z-indices for panes based on layerOrder
|
||||||
map.getPane('osmPane').style.zIndex = 400;
|
updateLayerZIndex();
|
||||||
map.getPane('diffPane').style.zIndex = 401;
|
|
||||||
map.getPane('countyPane').style.zIndex = 402;
|
|
||||||
|
|
||||||
// Setup drag selection
|
// Setup drag selection
|
||||||
setupDragSelection();
|
setupDragSelection();
|
||||||
@@ -1100,14 +1098,30 @@ function updateLayerZIndex() {
|
|||||||
'county': 'countyPane'
|
'county': 'countyPane'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const layers = {
|
||||||
|
'osm': osmLayer,
|
||||||
|
'diff': diffLayer,
|
||||||
|
'county': countyLayer
|
||||||
|
};
|
||||||
|
|
||||||
// Reverse index so first item in list is on top
|
// Reverse index so first item in list is on top
|
||||||
|
// Use higher base z-index (650) to ensure we're above overlay pane
|
||||||
layerOrder.forEach((layerName, index) => {
|
layerOrder.forEach((layerName, index) => {
|
||||||
const paneName = panes[layerName];
|
const paneName = panes[layerName];
|
||||||
const pane = map.getPane(paneName);
|
const pane = map.getPane(paneName);
|
||||||
if (pane) {
|
if (pane) {
|
||||||
pane.style.zIndex = 400 + (layerOrder.length - 1 - index);
|
const zIndex = 650 + (layerOrder.length - 1 - index);
|
||||||
|
pane.style.zIndex = zIndex;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Also bring layers to front in reverse order (last first, so first ends up on top)
|
||||||
|
for (let i = layerOrder.length - 1; i >= 0; i--) {
|
||||||
|
const layer = layers[layerOrder[i]];
|
||||||
|
if (layer && map.hasLayer(layer)) {
|
||||||
|
layer.bringToFront();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Toggle layer visibility
|
// Toggle layer visibility
|
||||||
@@ -1117,13 +1131,15 @@ function toggleLayer(layerId, layer) {
|
|||||||
if (checkbox.checked && layer) {
|
if (checkbox.checked && layer) {
|
||||||
if (!map.hasLayer(layer)) {
|
if (!map.hasLayer(layer)) {
|
||||||
map.addLayer(layer);
|
map.addLayer(layer);
|
||||||
updateLayerZIndex();
|
|
||||||
}
|
}
|
||||||
} else if (layer) {
|
} else if (layer) {
|
||||||
if (map.hasLayer(layer)) {
|
if (map.hasLayer(layer)) {
|
||||||
map.removeLayer(layer);
|
map.removeLayer(layer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Always update z-index after toggling any layer
|
||||||
|
updateLayerZIndex();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Event listeners
|
// Event listeners
|
||||||
|
|||||||
Reference in New Issue
Block a user