ROOT CAUSE FIX: Remove local shapefile Eigentuemer layer when ALKIS DB layer loads - the local layer had fillOpacity:0 and was covering the colored DB layer
Deploy Bürgerwind / deploy (push) Successful in 16s Details

This commit is contained in:
Johannes Baumeister 2026-05-01 11:04:46 +02:00
parent 29fe0b1352
commit d15f823e56
1 changed files with 24 additions and 3 deletions

27
app.js
View File

@ -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 += ` | <span style="color: #ff8800;">ALKIS-Layer Fehler</span>`;
}
@ -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.`);
}
}