diff --git a/app.js b/app.js index de765eb..7a7737d 100644 --- a/app.js +++ b/app.js @@ -971,6 +971,20 @@ document.addEventListener('DOMContentLoaded', async () => { style: (feature) => { let fillColor = style.fillColor || style.color; + // Auto-detect ALKIS columns if not set + if (layerName.toLowerCase().includes('eigentümer') && !state.ownerMapping) { + const sampleProps = feature.properties; + const hasGNA = 'GNA' in sampleProps || 'gna' in sampleProps; + const hasVNA = 'VNA' in sampleProps || 'vna' in sampleProps; + if (hasGNA && hasVNA) { + state.ownerMapping = { + firstName: 'VNA' in sampleProps ? 'VNA' : 'vna', + lastName: 'GNA' in sampleProps ? 'GNA' : 'gna' + }; + console.log("ALKIS-Spalten automatisch erkannt:", state.ownerMapping); + } + } + // Owner-Status-Coloring if (layerName.toLowerCase().includes('eigentümer') && state.ownerMapping) { const props = feature.properties; @@ -1200,6 +1214,11 @@ document.addEventListener('DOMContentLoaded', async () => { } for (const l of layers) { + // Lokalen Eigentümer-Layer umbenennen, um Verwechslung mit DB zu vermeiden + if (l.name.toLowerCase() === 'eigentümer') { + l.name = 'Eigentümer (Lokal)'; + } + if (l.file.toLowerCase().endsWith('.geojson')) { await loadLocalLayer(`data/${l.file}`, l.name, l.color); } else { @@ -1207,18 +1226,15 @@ document.addEventListener('DOMContentLoaded', async () => { } } - // NEU: ALKIS aus Datenbank laden, falls kein Eigentümer-Layer da ist - const hasOwnerLayer = Object.keys(overlays).some(k => k.toLowerCase().includes('eigentümer')); - if (!hasOwnerLayer) { - console.log("Kein lokaler Eigentümer-Layer. Lade ALKIS aus Datenbank..."); - const resp = await fetch('/api/layers/alkis').catch(() => null); - if (resp && resp.ok) { - const data = await resp.json(); - await processALKISData(data, "Eigentümer (ALKIS DB)"); - } + // ALKIS aus Datenbank IMMER laden + console.log("Lade ALKIS-Layer aus Datenbank..."); + const resp = await fetch('/api/layers/alkis').catch(() => null); + if (resp && resp.ok) { + const data = await resp.json(); + await processALKISData(data, "Eigentümer (ALKIS DB)"); } - statusEl.innerText = "Alle konfigurierten Layer geladen."; + statusEl.innerText = "Layer geladen (ALKIS DB integriert)."; } catch (e) { if (!isLocalFile) console.error("Layer-Init fehlgeschlagen:", e); }