Zum Inhalt springen

Suchvorschläge

Terminal-Fenster
curl -H "Authorization: Bearer <IHR-TOKEN>" -G "https://geocoder.pixelmap.at/api" \
--data-urlencode "q=Klagen" \
--data-urlencode "lang=de" \
--data-urlencode "limit=5" \
--data-urlencode "lat=46.6247" \
--data-urlencode "lon=14.3053"

Drei Zutaten machen aus der Suche eine brauchbare Vorschlagsliste:

Zutat Warum
lat / lon Die wichtigste. Ohne Ortsbindung sucht Photon weltweit — gemessen lieferte Klagen einen Ort auf Java. Mit Bindung auf Kärnten kommt Klagenfurt.
limit Fünf bis acht Vorschläge sind bedienbar, zwanzig nicht.
osm_tag Wenn Sie nur Ortschaften meinen, schränken Sie ein (osm_tag=place) — das ist wirksamer als nachträgliches Filtern.
let laufend;
async function vorschlaege(eingabe, naheBei) {
laufend?.abort();
laufend = new AbortController();
const p = new URLSearchParams({
q: eingabe,
lang: 'de',
limit: '6',
lat: String(naheBei.lat),
lon: String(naheBei.lon),
});
const antwort = await fetch(`/ihr-server/photon/api?${p}`, {
// Ihr Server setzt den Token ein, siehe /guides/access/
signal: laufend.signal,
});
const { features } = await antwort.json();
return features.map((f) => ({
text: [f.properties.name, f.properties.city, f.properties.state]
.filter(Boolean)
.join(', '),
art: `${f.properties.osm_key}/${f.properties.osm_value}`,
koordinaten: f.geometry.coordinates,
}));
}

Wenn die Eingabe eine Hausadresse werden soll, ist Pelias /autocomplete die bessere Wahl — es ist ein eigens dafür gebauter Endpunkt und hat Adressdaten, die Photon fehlen.