diff --git a/app.js b/app.js index fb72b15..91f4849 100644 --- a/app.js +++ b/app.js @@ -1440,11 +1440,11 @@ document.addEventListener('DOMContentLoaded', async () => { body: JSON.stringify({ projekt_id, turbines: turbineData }) }); + const result = await response.json(); if (response.ok) { - const result = await response.json(); statusEl.innerHTML = `${result.message}`; } else { - throw new Error("Fehler beim Speichern in DB"); + throw new Error(result.error || "Fehler beim Speichern in DB"); } } catch (err) { console.error(err); @@ -1453,6 +1453,45 @@ document.addEventListener('DOMContentLoaded', async () => { }); } + async function loadTurbinesFromDB() { + const project_id = "BWSamern-Ohne"; + const statusEl = document.getElementById('statusInfo'); + try { + const response = await fetch(`/api/wea/${project_id}`); + if (response.ok) { + const dbTurbines = await response.json(); + if (dbTurbines.length > 0) { + console.log(`Geladen: ${dbTurbines.length} WEAs aus der Datenbank.`); + + // Optional: Clear existing turbines if they were loaded from shapefile + // but usually DB should take precedence + state.turbines.forEach(t => { + Object.values(t.layers).forEach(l => variantLayers[t.variant].removeLayer(l)); + }); + state.turbines = []; + + dbTurbines.forEach(t => { + const latlng = L.latLng(t.lat, t.lng); + createTurbine(latlng, null, { + nr: t.nr, + type: t.type, + rd: t.rd, + hh: t.hh + }); + }); + statusEl.innerText = `${dbTurbines.length} WEAs aus Datenbank geladen.`; + } + } + } catch (err) { + console.error("Fehler beim Laden aus der DB:", err); + } + } + + // Load from DB after layers are initialized + initDynamicLayers().then(() => { + loadTurbinesFromDB(); + }); + btnLoad.addEventListener('click', () => projectInput.click()); projectInput.addEventListener('change', (e) => {