diff --git a/app.js b/app.js index 5e3eba5..a1993c3 100644 --- a/app.js +++ b/app.js @@ -1030,6 +1030,10 @@ document.addEventListener('DOMContentLoaded', async () => { } }); + if (overlays[layerName]) { + state.map.removeLayer(overlays[layerName]); + layerControl.removeLayer(overlays[layerName]); + } overlays[layerName] = layer; state.map.addLayer(layer); layerControl.addOverlay(layer, layerName); @@ -1047,6 +1051,10 @@ document.addEventListener('DOMContentLoaded', async () => { } }); const bufferName = layerName + " (50m Puffer)"; + if (overlays[bufferName]) { + state.map.removeLayer(overlays[bufferName]); + layerControl.removeLayer(overlays[bufferName]); + } overlays[bufferName] = bufferLayer; state.map.addLayer(bufferLayer); layerControl.addOverlay(bufferLayer, bufferName); @@ -1259,6 +1267,10 @@ document.addEventListener('DOMContentLoaded', async () => { } } }); + if (overlays[name]) { + state.map.removeLayer(overlays[name]); + layerControl.removeLayer(overlays[name]); + } overlays[name] = layer; state.map.addLayer(layer); layerControl.addOverlay(layer, name); @@ -1290,6 +1302,10 @@ document.addEventListener('DOMContentLoaded', async () => { } }); const bufferName = name + " (Puffer)"; + if (overlays[bufferName]) { + state.map.removeLayer(overlays[bufferName]); + layerControl.removeLayer(overlays[bufferName]); + } overlays[bufferName] = bufferLayer; state.map.addLayer(bufferLayer); layerControl.addOverlay(bufferLayer, bufferName); @@ -2491,6 +2507,10 @@ function loadBakedLayers(bakedLayers, state, overlays, layerControl, statusEl) { } } }); + if (overlays[name]) { + state.map.removeLayer(overlays[name]); + layerControl.removeLayer(overlays[name]); + } overlays[name] = layer; state.map.addLayer(layer); layerControl.addOverlay(layer, name); @@ -2509,6 +2529,10 @@ function loadBakedLayers(bakedLayers, state, overlays, layerControl, statusEl) { } }); const bufferName = name + " (50m Puffer)"; + if (overlays[bufferName]) { + state.map.removeLayer(overlays[bufferName]); + layerControl.removeLayer(overlays[bufferName]); + } overlays[bufferName] = bufferLayer; state.map.addLayer(bufferLayer); layerControl.addOverlay(bufferLayer, bufferName);