Adress-Autovervollständigung
Vorschläge für unvollständige Eingaben, optimiert auf Latenz und Tippfehlertoleranz. Jeder Vorschlag enthält Koordinaten, sodass die meisten Integrationen nie einen zweiten Aufruf brauchen.
GEThttps://api.mygeocode.com/v1/autocomplete
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
qerforderlich | String | Was der Nutzer bisher eingegeben hat. Mindestens 2, höchstens 128 Zeichen. |
limitoptional | Integer | 1 bis 10. Standard 5. |
countriesoptional | String | Kommagetrennte ISO 3166-1 Alpha-2-Codes, auf die die Vorschläge beschränkt werden. |
proximityoptional | String | lat,lon. Vorschläge in der Nähe werden zuerst gereiht. Dringend empfohlen für Suchfelder auf Karten. |
typesoptional | String | Kommagetrennte Auswahl aus address, street, postcode, city, region, country, poi. Standard alle. |
langoptional | String | ISO 639-1 Code. Standard en. |
keyoptional | String | API-Schlüssel, falls nicht als Header gesendet. |
Beispiel
$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/autocomplete?q=oxford+st&proximity=51.515,-0.141&limit=3"const url = new URL("https://api.mygeocode.com/v1/autocomplete");
url.searchParams.set("q", "oxford st");
url.searchParams.set("proximity", "51.515,-0.141");
url.searchParams.set("limit", "3");
const { suggestions } = await (await fetch(url, { headers: { "X-API-Key": "YOUR_KEY" } })).json();
suggestions.forEach((s) => console.log(s.text, s.lat, s.lon));import requests
r = requests.get("https://api.mygeocode.com/v1/autocomplete",
params={"q": "oxford st", "proximity": "51.515,-0.141", "limit": 3}, headers={"X-API-Key": "YOUR_KEY"}, timeout=5)
for s in r.json()["suggestions"]:
print(s["text"], s["lat"], s["lon"])Antwort
{
"status": "ok",
"query": "oxford st",
"suggestions": [
{ "text": "Oxford Street, London W1, United Kingdom", "lat": 51.515419, "lon": -0.141588, "type": "street", "precision": "street", "place_id": "gb.street.0a91e2c4" },
{ "text": "Oxford Street, Southampton SO14, United Kingdom", "lat": 50.899021, "lon": -1.399537, "type": "street", "precision": "street", "place_id": "gb.street.77b4d1f0" },
{ "text": "Oxford Street Station, London W1, United Kingdom", "lat": 51.515167, "lon": -0.141251, "type": "poi", "precision": "house", "place_id": "gb.poi.3c5a8e19" }
]
}Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
suggestions[].text | String | Anzeigetext, einzeilig, in lang. |
suggestions[].lat, lon | Zahl | Koordinaten. Immer vorhanden. |
suggestions[].type, precision | String | Wie bei der Geokodierung (Adresse zu Koordinaten). |
suggestions[].place_id | String | An /v1/forward?place_id=... übergeben, um vollständige Komponenten und Begrenzungen zu erhalten. Dieser Aufruf zählt als eine Anfrage. |
Hinweise
- Verzögern Sie die Eingabe (Debounce) um etwa 150 ms und brechen Sie laufende Anfragen ab, wenn der Nutzer weitertippt. Antworten enthalten die
query, die sie beantworten, sodass Sie veraltete verwerfen können. - Es gibt keine Sitzungstoken. Jeder Aufruf ist eine Anfrage. Die Auswahl einer typischen Adresse braucht 4 bis 6 Aufrufe.
- Aufrufe aus dem Browser im kostenlosen Kontingent sind für öffentliche Websites der vorgesehene Einsatz. Gezählt wird die IP des Besuchers, nicht Ihre.
- Die Formate des Google-Widgets
places.Autocomplete, der Mapbox Search Box, von HERE Autosuggest und Bing Autosuggest sind auf den Drop-in-Hosts verfügbar.
Dieselbe Abfrage in den Formaten anderer Anbieter
Wenn Sie bereits Code für einen dieser Anbieter geschrieben haben, behalten Sie ihn: Der Drop-in-Host akzeptiert denselben Pfad und dieselben Parameter und antwortet in der Antwortstruktur dieses Anbieters, mit diesem Endpunkt dahinter. Siehe So funktionieren die Drop-in-Hosts.
| Anbieter | Host | Pfad |
|---|---|---|
| Google Maps Platform | gapi.mygeocode.com | /maps/api/place/autocomplete/json?input=... |
| Bing Maps REST Services | bing.mygeocode.com | /REST/v1/Autosuggest?query=... |
| HERE Geocoding and Search | here.mygeocode.com | /v1/autosuggest?q=...&at=lat,lng/v1/autocomplete?q=... |
| Mapbox Geocoding | mapbox.mygeocode.com | /search/searchbox/v1/suggest?q=... |
| LocationIQ | locationiq.mygeocode.com | /v1/autocomplete?q=... |
| Geoapify | geoapify.mygeocode.com | /v1/geocode/autocomplete?text=... |
| TomTom Search | tomtom.mygeocode.com | /search/2/search/{query}.json?typeahead=true |
Fehler
400 invalid_request, wenn q kürzer als 2 Zeichen ist oder types einen unbekannten Wert enthält.