diff --git a/app.js b/app.js index f8c7e9c..4ca2f6b 100644 --- a/app.js +++ b/app.js @@ -1034,6 +1034,28 @@ document.addEventListener('DOMContentLoaded', async () => { state.map.addLayer(layer); layerControl.addOverlay(layer, layerName); + // NEU: 50m Puffer für Freileitungen + if (layerName.toLowerCase().includes('freileitung')) { + try { + const bufferedGeojson = turf.buffer(geojson, 0.05, {units: 'kilometers'}); + const bufferLayer = L.geoJSON(bufferedGeojson, { + style: { + color: '#ffff00', + weight: 0, + fillColor: '#ffff00', + fillOpacity: 0.3 + } + }); + const bufferName = layerName + " (50m Puffer)"; + overlays[bufferName] = bufferLayer; + state.map.addLayer(bufferLayer); + layerControl.addOverlay(bufferLayer, bufferName); + bufferLayer.bringToBack(); // Hinter die Leitung legen + } catch(err) { + console.error("Fehler beim Erstellen des Puffers für " + layerName, err); + } + } + if (layerName.toLowerCase().includes('eigentümer') || layerName.toLowerCase().includes('flurstücke')) { layer.bringToBack(); } @@ -2368,6 +2390,28 @@ function loadBakedLayers(bakedLayers, state, overlays, layerControl, statusEl) { layerControl.addOverlay(layer, name); state.bakedData[name] = entry; + // NEU: 50m Puffer für Freileitungen (Standalone Mode) + if (name.toLowerCase().includes('freileitung')) { + try { + const bufferedGeojson = turf.buffer(entry.data, 0.05, {units: 'kilometers'}); + const bufferLayer = L.geoJSON(bufferedGeojson, { + style: { + color: '#ffff00', + weight: 0, + fillColor: '#ffff00', + fillOpacity: 0.3 + } + }); + const bufferName = name + " (50m Puffer)"; + overlays[bufferName] = bufferLayer; + state.map.addLayer(bufferLayer); + layerControl.addOverlay(bufferLayer, bufferName); + bufferLayer.bringToBack(); // Hinter die Leitung legen + } catch(err) { + console.error("Fehler beim Erstellen des Puffers für " + name, err); + } + } + if (name.toLowerCase().includes('eigentümer') || name.toLowerCase().includes('flurstücke')) { layer.bringToBack(); }