Geokodierung
Wandelt Text in Koordinaten um. Akzeptiert vollständige Adressen, Teiladressen, Postleitzahlen, Ortsnamen und Points of Interest, in jeder Sprache.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
qerforderlich* | String | Freitext zum Geokodieren. Bis zu 256 Zeichen. |
street, city, state, postcode, country | String | *Strukturierte Alternative zu q. Verwenden Sie sie, wenn Sie die Adresse bereits in Feldern haben. Mindestens eines ist erforderlich, wenn q fehlt. country ist hier ein ISO 3166-1 Alpha-2-Code. |
place_id | String | *Eine place_id aus der Autovervollständigung. Liefert genau diesen Ort mit vollständigen Komponenten und Begrenzungen. Hat Vorrang vor q. |
limitoptional | Integer | Maximale Anzahl Ergebnisse, 1 bis 10. Standard 5. |
countriesoptional | String | Kommagetrennte ISO 3166-1 Alpha-2-Codes. Es werden nur Ergebnisse in diesen Ländern zurückgegeben. Beispiel: gb,ie. |
boundsoptional | String | south,west,north,east in Dezimalgrad. Ergebnisse innerhalb des Rechtecks werden zuerst gereiht. Fügen Sie strict=1 hinzu, um Ergebnisse außerhalb auszuschließen. |
proximityoptional | String | lat,lon. Ergebnisse in der Nähe dieses Punkts werden zuerst gereiht. |
langoptional | String | ISO 639-1 Code für Namen in der Antwort. Standard en. |
keyoptional | String | API-Schlüssel, falls nicht als Header X-API-Key gesendet. |
Beispiel
$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/forward?q=Dam+1,+Amsterdam&countries=nl&limit=1"const url = new URL("https://api.mygeocode.com/v1/forward");
url.searchParams.set("q", "Dam 1, Amsterdam");
url.searchParams.set("countries", "nl");
url.searchParams.set("limit", "1");
const data = await (await fetch(url, { headers: { "X-API-Key": "YOUR_KEY" } })).json();
console.log(data.results[0]);import requests
r = requests.get("https://api.mygeocode.com/v1/forward",
params={"q": "Dam 1, Amsterdam", "countries": "nl", "limit": 1}, headers={"X-API-Key": "YOUR_KEY"}, timeout=10)
print(r.json()["results"][0]){
"status": "ok",
"query": "Dam 1, Amsterdam",
"results": [
{
"formatted": "Dam 1, 1012 JS Amsterdam, Netherlands",
"lat": 52.373119,
"lon": 4.893604,
"type": "address",
"precision": "house",
"confidence": 0.98,
"place_id": "nl.addr.c21d40e8",
"components": {
"house_number": "1",
"road": "Dam",
"neighbourhood": "Centrum",
"city": "Amsterdam",
"state": "North Holland",
"state_code": "NH",
"postcode": "1012 JS",
"country": "Netherlands",
"country_code": "nl"
},
"bounds": { "north": 52.373519, "south": 52.372719, "east": 4.894204, "west": 4.893004 }
}
]
}Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
query | String | Der Text, den wir interpretiert haben, nach dem Trimmen. |
results | Array | Treffer, der beste zuerst. Leer, wenn nichts gefunden wurde. |
results[].formatted | String | Vollständige Adresse im üblichen Format des Landes. |
results[].lat, lon | Zahl | WGS 84 Dezimalgrad. |
results[].type | String | address, street, postcode, city, region, country, poi. |
results[].precision | String | house, street, postcode, admin. Was der Punkt darstellt. Siehe Abdeckung. |
results[].confidence | Zahl | 0 bis 1. Wie gut das Ergebnis zur Abfrage passt. Unter 0.5 bedeutet, dass wir geschätzt haben. |
results[].place_id | String | Stabile Kennung für diesen Ort. |
results[].components | Objekt | Adressbestandteile. Siehe unten. |
results[].bounds | Objekt | north, south, east, west des gefundenen Objekts. |
Komponenten-Schlüssel
Nur zutreffende Schlüssel sind vorhanden. In jedem Land werden dieselben Schlüssel verwendet.
| Schlüssel | Bedeutung |
|---|---|
name | Name eines Points of Interest oder Gebäudes, wenn der Treffer eines ist. |
house_number | Einschließlich Buchstaben und Bereichen: 221B, 12-14. |
road | Straßenname mit Straßentyp: Baker Street, Avenue Anatole France. |
neighbourhood, suburb | Stadtteile, wo das Land sie verwendet. |
city | Stadt, Kleinstadt oder Dorf. |
county | Landkreis oder Bezirk. |
state, state_code | Bundesland, Provinz oder Region und ihr ISO 3166-2 Suffix, sofern vorhanden. |
postcode | Postleitzahl, so formatiert, wie die Postbehörde sie formatiert. |
country, country_code | Ländername und ISO 3166-1 Alpha-2-Code in Kleinbuchstaben. |
Hinweise
- Die Ergebnisse sind nach einer Kombination aus Konfidenz, Genauigkeit und Nähe sortiert. Verwenden Sie das erste Ergebnis, es sei denn, Sie zeigen eine Auswahl an.
- Wenn eine Hausnummer auf einer bekannten Straße nicht gefunden wird, hat das Ergebnis
type: streetundprecision: street, wobei die Nummer interpoliert wird, soweit die Daten es erlauben. Prüfen Sieprecision, wenn Ihnen das wichtig ist. - Postleitzahlen allein sind als
qin Ordnung. Für reine Postleitzahl-Abfragen ist der Postleitzahl-Endpunkt schneller und liefert den Ortsnamen der Postbehörde. - Eine Abfrage in einer Schrift für einen Ort, der eine andere verwendet (etwa Kyrillisch für eine japanische Adresse), funktioniert, aber
langbestimmt die Schrift der Antwort.
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/geocode/json?address=... |
| Bing Maps REST Services | bing.mygeocode.com | /REST/v1/Locations?q=.../REST/v1/Locations?countryRegion=...&locality=...&addressLine=... |
| HERE Geocoding and Search | here.mygeocode.com | /v1/geocode?q=.../v1/geocode?qq=street=...;city=... |
| Mapbox Geocoding | mapbox.mygeocode.com | /geocoding/v5/mapbox.places/{query}.json/search/geocode/v6/forward?q=... |
| Geocode.Farm | farm.mygeocode.com | /forward/?addr=.../v3/json/forward/?addr=... |
| OpenStreetMap Nominatim | osm.mygeocode.com | /search?q=...&format=json/search?street=...&city=...&country=...&format=json |
| OpenCage | opencage.mygeocode.com | /geocode/v1/json?q=.../geocode/v1/geojson?q=... |
| LocationIQ | locationiq.mygeocode.com | /v1/search?q=...&format=json |
| Geoapify | geoapify.mygeocode.com | /v1/geocode/search?text=... |
| TomTom Search | tomtom.mygeocode.com | /search/2/geocode/{query}.json/search/2/structuredGeocode.json?countryCode=...&streetName=... |
| MapQuest Geocoding | mapquest.mygeocode.com | /geocoding/v1/address?location=.../geocoding/v1/batch?location=...&location=... |
| Geocodio | geocodio.mygeocode.com | /v1.7/geocode?q=.../v1.7/geocode (POST, JSON array) |
| PositionStack | positionstack.mygeocode.com | /v1/forward?query=... |
Massenabfragen
Senden Sie per POST einen JSON-Body an denselben Pfad mit queries, einem Array mit bis zu 100 Adressen, und die Antwort enthält ein Array results mit einem Eintrag pro Abfrage in der gesendeten Reihenfolge. Jeder Eintrag zählt als eine Anfrage, und ein Batch, der größer ist als das verbleibende Kontingent, wird vollständig abgelehnt.
$ curl -X POST "https://api.mygeocode.com/v1/forward" -H "Content-Type: application/json" -d '{"queries": ["Brandenburg Gate, Berlin", "Bahnhofstrasse 1, Zurich"]}'Fehler
400 invalid_request, wenn weder q noch ein strukturiertes Feld noch place_id vorhanden ist, wenn limit außerhalb von 1 bis 10 liegt oder wenn bounds oder proximity fehlerhaft ist. Den Rest finden Sie unter Fehler.