diff --git a/app.js b/app.js index 9714b4b..0eec2ec 100644 --- a/app.js +++ b/app.js @@ -1247,11 +1247,26 @@ document.addEventListener('DOMContentLoaded', async () => { if (resp && resp.ok) { const data = await resp.json(); + console.log(`ALKIS API: ${data.features ? data.features.length : 0} Features erhalten.`); await processALKISData(data, "Eigentümer (ALKIS DB)"); + + // KRITISCH: Lokalen Eigentümer-Shapefile-Layer entfernen, da der DB-Layer + // die gleichen Geometrien hat + Status-Farben. Der lokale Layer hat + // fillOpacity: 0 und verdeckt sonst die Farben des DB-Layers. + const localOwnerKeys = Object.keys(overlays).filter(k => + k.toLowerCase().includes('eigentümer') && k !== 'Eigentümer (ALKIS DB)' + ); + localOwnerKeys.forEach(key => { + console.log(`Entferne lokalen Layer "${key}" (wird durch ALKIS DB ersetzt).`); + if (state.map.hasLayer(overlays[key])) { + state.map.removeLayer(overlays[key]); + } + layerControl.removeLayer(overlays[key]); + delete overlays[key]; + }); } else { const errorText = resp ? await resp.text() : "Server nicht erreichbar"; console.warn("ALKIS-Layer konnte nicht geladen werden:", errorText); - // Optional: Kurzer Hinweis für den User document.getElementById('statusInfo').innerHTML += ` | ALKIS-Layer Fehler`; } @@ -1694,9 +1709,15 @@ document.addEventListener('DOMContentLoaded', async () => { // Hilfsfunktion zum Neu-Stylen des Eigentümer-Layers function refreshOwnerLayerStyle() { - const ownerLayerName = Object.keys(overlays).find(k => k.toLowerCase().includes('eigentümer')); + // Bevorzuge den ALKIS DB Layer + const alkisKey = Object.keys(overlays).find(k => k === 'Eigentümer (ALKIS DB)'); + const ownerLayerName = alkisKey || Object.keys(overlays).find(k => k.toLowerCase().includes('eigentümer')); if (ownerLayerName && overlays[ownerLayerName]) { - overlays[ownerLayerName].setStyle(overlays[ownerLayerName].options.style); + const layer = overlays[ownerLayerName]; + if (typeof layer.options.style === 'function') { + layer.setStyle(layer.options.style); + } + console.log(`refreshOwnerLayerStyle: Layer "${ownerLayerName}" aktualisiert.`); } }