From 3f277cca6df46e3fc13f1019937ea03a40076057 Mon Sep 17 00:00:00 2001 From: Johannes Baumeister Date: Sat, 2 May 2026 09:08:40 +0200 Subject: [PATCH] ACTUAL ROOT CAUSE: baked_layers.js caused early return, preventing ALKIS DB layer from loading. Now ALKIS DB always loads and replaces local layer. --- app.js | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/app.js b/app.js index 0eec2ec..bb476f4 100644 --- a/app.js +++ b/app.js @@ -1206,11 +1206,13 @@ document.addEventListener('DOMContentLoaded', async () => { } } statusEl.innerText = "Stand-Alone Daten geladen."; - return; + // NICHT return – wir laden den ALKIS-DB-Layer immer, + // damit Status-Farben aus der Datenbank angezeigt werden. } // Priority 2: Use window.LAYER_CONFIG (Script-based config) - let layers = window.LAYER_CONFIG; + // Nur laden wenn BAKED_DATA nicht vorhanden war + let layers = !window.BAKED_DATA ? window.LAYER_CONFIG : null; // Fallback: Fetch layers.json (if server is running) if (!layers) { @@ -1219,34 +1221,36 @@ document.addEventListener('DOMContentLoaded', async () => { } if (!layers) { - if (isLocalFile) { + if (isLocalFile && !window.BAKED_DATA) { statusEl.innerHTML = `Manuelles Laden: Ziehen Sie Shapefiles auf die Karte.`; } - return; + // Nicht return – wir versuchen trotzdem den ALKIS-Layer zu laden } - 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 (layers) { + 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 { - await loadShapefileLayer(l); + if (l.file.toLowerCase().endsWith('.geojson')) { + await loadLocalLayer(`data/${l.file}`, l.name, l.color); + } else { + await loadShapefileLayer(l); + } } } // ALKIS aus Datenbank IMMER laden console.log("Lade ALKIS-Layer aus Datenbank..."); - const resp = await fetch('/api/layers/alkis').catch(err => { + const alkisResp = await fetch('/api/layers/alkis').catch(err => { console.error("Netzwerkfehler beim Laden des ALKIS-Layers:", err); return null; }); - if (resp && resp.ok) { - const data = await resp.json(); + if (alkisResp && alkisResp.ok) { + const data = await alkisResp.json(); console.log(`ALKIS API: ${data.features ? data.features.length : 0} Features erhalten.`); await processALKISData(data, "Eigentümer (ALKIS DB)"); @@ -1265,7 +1269,7 @@ document.addEventListener('DOMContentLoaded', async () => { delete overlays[key]; }); } else { - const errorText = resp ? await resp.text() : "Server nicht erreichbar"; + const errorText = alkisResp ? await alkisResp.text() : "Server nicht erreichbar"; console.warn("ALKIS-Layer konnte nicht geladen werden:", errorText); document.getElementById('statusInfo').innerHTML += ` | ALKIS-Layer Fehler`; }