🔧 Fix location name: Use real location name from API instead of search term

- Added hidden field 'realLocationName' to store actual location name from Nominatim API
- Updated location saving to use real location name (display_name) instead of search term
- Fallback to search term if real location name not available
- Now saves proper location names like 'Marienplatz, Altstadt-Lehel, München, Bayern, Deutschland' instead of just 'München'
- Improved location data quality in database
This commit is contained in:
2025-09-08 21:41:58 +02:00
parent 2becf784bd
commit 7d88ad036d

View File

@@ -172,7 +172,7 @@ function toggleTokenFields() {
// Standort automatisch speichern, falls vorhanden // Standort automatisch speichern, falls vorhanden
let locationSaved = false; let locationSaved = false;
const locationName = document.getElementById('locationSearch')?.value?.trim(); const locationName = document.getElementById('realLocationName')?.value || document.getElementById('locationSearch')?.value?.trim();
const latitude = document.getElementById('latitude')?.textContent; const latitude = document.getElementById('latitude')?.textContent;
const longitude = document.getElementById('longitude')?.textContent; const longitude = document.getElementById('longitude')?.textContent;
@@ -331,6 +331,19 @@ function toggleTokenFields() {
const lat = parseFloat(location.lat); const lat = parseFloat(location.lat);
const lon = parseFloat(location.lon); const lon = parseFloat(location.lon);
// Echten Standortnamen aus der API speichern
const realLocationName = location.display_name || location.name || locationInput;
// Verstecktes Feld für echten Standortnamen erstellen/aktualisieren
let locationNameField = document.getElementById('realLocationName');
if (!locationNameField) {
locationNameField = document.createElement('input');
locationNameField.type = 'hidden';
locationNameField.id = 'realLocationName';
document.body.appendChild(locationNameField);
}
locationNameField.value = realLocationName;
// Koordinaten anzeigen // Koordinaten anzeigen
updateCoordinates(lat, lon); updateCoordinates(lat, lon);
coordinatesDiv.style.display = 'block'; coordinatesDiv.style.display = 'block';
@@ -340,7 +353,7 @@ function toggleTokenFields() {
mapContainer.style.display = 'block'; mapContainer.style.display = 'block';
// Erfolgsmeldung // Erfolgsmeldung
showSuccess(`✅ Standort "${locationInput}" erfolgreich gefunden! Klicken Sie auf die Karte, um den Pin zu verschieben.`); showSuccess(`✅ Standort "${realLocationName}" erfolgreich gefunden! Klicken Sie auf die Karte, um den Pin zu verschieben.`);
} catch (error) { } catch (error) {
showError(`Fehler bei der Standortsuche: ${error.message}`); showError(`Fehler bei der Standortsuche: ${error.message}`);
@@ -460,7 +473,7 @@ function toggleTokenFields() {
// Standort in Datenbank speichern // Standort in Datenbank speichern
async function saveLocationToDatabase() { async function saveLocationToDatabase() {
const locationName = document.getElementById('locationSearch').value.trim(); const locationName = document.getElementById('realLocationName')?.value || document.getElementById('locationSearch').value.trim();
const latitude = document.getElementById('latitude').textContent; const latitude = document.getElementById('latitude').textContent;
const longitude = document.getElementById('longitude').textContent; const longitude = document.getElementById('longitude').textContent;
const saveBtn = document.getElementById('saveLocationBtn'); const saveBtn = document.getElementById('saveLocationBtn');