Beispiele
Alle Beispiele am 14.09.2026 gegen die Live-Dienste ausgeführt.
Ortssuche mit Ortsbindung
Abschnitt betitelt „Ortssuche mit Ortsbindung“async function orteSuchen(text, naheBei) { const p = new URLSearchParams({ q: text, lang: 'de', limit: '6', lat: String(naheBei.lat), lon: String(naheBei.lon), }); const { features } = await ( await fetch(`/ihr-server/photon/api?${p}`) ).json();
return features.map((f) => ({ name: f.properties.name, ort: f.properties.city ?? f.properties.state, art: `${f.properties.osm_key}/${f.properties.osm_value}`, koordinaten: f.geometry.coordinates, // [lon, lat] }));}Adresse oder Ort? Beide Geocoder kombinieren
Abschnitt betitelt „Adresse oder Ort? Beide Geocoder kombinieren“Die praktischste Anwendung der Messung im Vergleich: Enthält die Eingabe eine Ziffer, sieht sie nach einer Hausadresse aus — dann Pelias, sonst Photon.
async function suchen(text, naheBei) { const wirktWieAdresse = /\d/.test(text);
if (wirktWieAdresse) { const p = new URLSearchParams({ text, size: '6', layers: 'address,street', 'focus.point.lat': String(naheBei.lat), 'focus.point.lon': String(naheBei.lon), }); const { features } = await ( await fetch(`/ihr-server/pelias/search?${p}`) ).json(); if (features.length > 0) return features.map(ausPelias); }
return orteSuchen(text, naheBei); // Photon}
const ausPelias = (f) => ({ name: f.properties.label, art: `${f.properties.layer} (${f.properties.source})`, koordinaten: f.geometry.coordinates,});Der Rückfall auf Photon greift auch dann, wenn Pelias nichts findet — eine leere Liste kommt mit 200, nicht als Fehler.
Was ist an diesem Punkt?
Abschnitt betitelt „Was ist an diesem Punkt?“async function wasIstHier(lat, lon) { const p = new URLSearchParams({ lat: String(lat), lon: String(lon), lang: 'de', limit: '5', 'osm_tag': '!highway', // keine Bussteige, keine Fahrbahnen }); const { features } = await ( await fetch(`/ihr-server/photon/reverse?${p}`) ).json(); return features[0]?.properties ?? null;}Ohne osm_tag=!highway lieferte dieselbe Abfrage in Klagenfurt gemessen
Stand 7 – Klagenfurt Heiligengeistplatz, also einen Bussteig — technisch
der nächste Treffer, praktisch selten die gemeinte Antwort.
Suchvorschläge im Eingabefeld
Abschnitt betitelt „Suchvorschläge im Eingabefeld“Siehe Suchvorschläge — mit
AbortController, Verzögerung und dem Grund, warum die Ortsbindung dort nicht
optional ist.