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

ParameterTypBeschreibung
qerforderlichStringWas der Nutzer bisher eingegeben hat. Mindestens 2, höchstens 128 Zeichen.
limitoptionalInteger1 bis 10. Standard 5.
countriesoptionalStringKommagetrennte ISO 3166-1 Alpha-2-Codes, auf die die Vorschläge beschränkt werden.
proximityoptionalStringlat,lon. Vorschläge in der Nähe werden zuerst gereiht. Dringend empfohlen für Suchfelder auf Karten.
typesoptionalStringKommagetrennte Auswahl aus address, street, postcode, city, region, country, poi. Standard alle.
langoptionalStringISO 639-1 Code. Standard en.
keyoptionalStringAPI-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

FeldTypBeschreibung
suggestions[].textStringAnzeigetext, einzeilig, in lang.
suggestions[].lat, lonZahlKoordinaten. Immer vorhanden.
suggestions[].type, precisionStringWie bei der Geokodierung (Adresse zu Koordinaten).
suggestions[].place_idStringAn /v1/forward?place_id=... übergeben, um vollständige Komponenten und Begrenzungen zu erhalten. Dieser Aufruf zählt als eine Anfrage.

Hinweise

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.

AnbieterHostPfad
Google Maps Platformgapi.mygeocode.com/maps/api/place/autocomplete/json?input=...
Bing Maps REST Servicesbing.mygeocode.com/REST/v1/Autosuggest?query=...
HERE Geocoding and Searchhere.mygeocode.com/v1/autosuggest?q=...&at=lat,lng
/v1/autocomplete?q=...
Mapbox Geocodingmapbox.mygeocode.com/search/searchbox/v1/suggest?q=...
LocationIQlocationiq.mygeocode.com/v1/autocomplete?q=...
Geoapifygeoapify.mygeocode.com/v1/geocode/autocomplete?text=...
TomTom Searchtomtom.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.