// geo-backend-services.js
 /**
     * Ruft die Adress-Suchergebnisse über den Nominatim-Proxy ab.
     * @param {string} query Die zu suchende Adresse.
     * @returns {Promise<Array<Object>>}
     */
    export async function fetchAdressesFromNominatim(query) {
        // Hängen Sie ", Berlin" an, um die Ergebnisse zu verbessern und zu begrenzen
        const proxyUrl = `./get_addresses_nominatim.php?q=${encodeURIComponent(query + ", Berlin")}`;

        try {
            const response = await fetch(proxyUrl);
            if (!response.ok) {
                let errorMessage = `HTTP-Fehler! Status: ${response.status}`;
                try {
                    const errorData = await response.json();
                    if (errorData && errorData.error) {
                        errorMessage += `, Details: ${errorData.error}`;
                    }
                } catch (e) {
                    console.warn("Konnte Fehlerdetails vom Nominatim-Proxy nicht als JSON parsen.", e);
                }
                throw new Error(errorMessage);
            }

            const data = await response.json();

            if (!Array.isArray(data)) {
                console.error("Nominatim-Proxy lieferte unerwartetes Datenformat.", data);
                return [];
            }

            return data;

        } catch (error) {
            console.error("Fehler bei der Adresssuche über Nominatim Proxy:", error);
            // Statt einen Error zu werfen, wird er im Haupt-Handler abgefangen.
            throw new Error("Nominatim-Suche fehlgeschlagen.");
        }
    }

    /**
     * Ruft die Geokodierungsdaten über den PHP-Proxy (der die HERE API kontaktiert) ab.
     * @param {string} query Die zu suchende Adresse (z.B. "Hauptstraße 5, Berlin").
     * @returns {Promise<Array<Object>>}
     */
    export async function fetchAdressesFromHere(query) {
        const proxyUrl = `./get_addresses_here.php?q=${encodeURIComponent(query)}`;

        console.log(`Starte HERE Proxy-Aufruf für: ${query} an URL: ${proxyUrl}`);

        try {
            const response = await fetch(proxyUrl);

            if (!response.ok) {
                console.error(`HTTP-Fehler ${response.status}: ${response.statusText}`);
                throw new Error(`Proxy-Fehler: HTTP ${response.status}`);
            }

            const data = await response.json();

            if (!Array.isArray(data)) {
                console.error("HERE Proxy lieferte unerwartetes Datenformat (kein Array).", data);
                return [];
            }

            return data;

        } catch (error) {
            console.error("Fehler beim Abrufen der HERE Adressen:", error);
            throw new Error("HERE-Suche fehlgeschlagen.");
        }
    }
