Bei der umgekehrten Geocodierung wird ein Kartenstandort in eine visuell lesbare Adresse umgewandelt. Sie stellen den Kartenstandort durch die Breiten- und Längengradkoordinaten des Standorts dar.
Wenn Sie einen Ort umgekehrt geocodieren, enthält die Antwort Folgendes:
- Orts-ID der Adresse
- Plus Codes der Adresse
- Adressdetails
Diese API gibt verschiedene Arten von Adressen zurück, von der spezifischsten Straßenadresse bis hin zu weniger spezifischen politischen Einheiten wie Stadtteilen, Städten, Landkreisen und Bundesländern. Die am besten passende Adresse ist in der Regel das erste Ergebnis. Wenn Sie einen bestimmten Adresstyp abgleichen möchten, verwenden Sie den Parameter types
.
Anfrage zur umgekehrten Geocodierung
Eine Reverse Geocoding-Anfrage ist eine HTTP-GET-Anfrage. Sie können den Standort als unstrukturierten String angeben:
https://geocode.googleapis.com/v4beta/geocode/location/LATITUDE,LONGITUDE
Oder als strukturierter Satz von Breiten- und Längengradkoordinaten, die durch Abfrageparameter dargestellt werden:
https://geocode.googleapis.com/v4beta/geocode/location?location.latitude=LATITUDE&location.longitude=LONGITUDE
Sie verwenden das strukturierte Format in der Regel, wenn Sie Standortkomponenten verarbeiten, die in einem HTML-Formular erfasst wurden.
Alle anderen Parameter werden als URL-Parameter oder, bei Parametern wie dem API-Schlüssel oder der Feldmaske, in Headern als Teil der GET-Anfrage übergeben. Beispiel:
Unstrukturierten Standortstring übergeben
Ein unstrukturierter Standort ist ein Standort, der als kommagetrennter String mit Breiten- und Längengradkoordinaten formatiert ist:
https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338?key=API_KEY
Oder in einem curl-Befehl:
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ "https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338"
Strukturierte Standortinformationen übergeben
Geben Sie den strukturierten Ort mit dem Abfrageparameter location
vom Typ LatLng
an.
Mit dem LatLng
-Objekt können Sie Breiten- und Längengrad als separate Abfrageparameter angeben:
https://geocode.googleapis.com/v4beta/geocode/location?location.latitude=37.4225508&location.longitude=-122.0846338 &key=API_KEY
OAuth zum Stellen einer Anfrage verwenden
Die Geocoding API v4 unterstützt OAuth 2.0 für die Authentifizierung. Wenn Sie OAuth mit der Geocoding API verwenden möchten, muss dem OAuth-Token der richtige Bereich zugewiesen sein. Die Geocoding API unterstützt die folgenden Bereiche für die Verwendung mit der umgekehrten Geocodierung:
https://www.googleapis.com/auth/maps-platform.geocode
– Mit allen Geocoding API-Endpunkten verwenden.https://www.googleapis.com/auth/maps-platform.geocode.location
– Nur mitGeocodeLocation
für die umgekehrte Geocodierung verwenden.
Außerdem können Sie den allgemeinen https://www.googleapis.com/auth/cloud-platform
-Bereich für alle Geocoding API-Endpunkte verwenden. Dieser Bereich ist während der Entwicklung nützlich, aber nicht in der Produktion, da er ein allgemeiner Bereich ist, der den Zugriff auf alle Endpunkte ermöglicht.
Weitere Informationen und Beispiele finden Sie unter OAuth verwenden.
Antwort auf umgekehrte Geocodierung
Bei der umgekehrten Geocodierung wird ein GeocodeLocationResponse
-Objekt zurückgegeben, das Folgendes enthält:
Das
results
-Array vonGeocodeResult
-Objekten, das den Ort darstellt.Bei der umgekehrten Geocodierung wird mehr als ein Ergebnis im
results
-Array zurückgegeben. Die Ergebnisse bestehen nicht nur aus Postanschriften, sondern umfassen sämtliche geografischen Bezeichnungen für den Ort. Wenn Sie z. B. einen Punkt in Chicago geocodieren, kann er als Postanschrift, Stadt (Chicago), Bundesstaat (Illinois) oder Land (USA) gekennzeichnet sein. Alle diese Angaben gelten im Geocoder als Adressen. Bei der umgekehrten Geocodierung werden alle diese Typen als gültige Ergebnisse zurückgegeben.Das Feld
plusCode
vom TypPlusCode
enthält den Plus Code, der den Breiten- und Längengrad in der Anfrage am besten annähert. Außerdem enthält jedes Element desresults
-Arrays einen Plus Code. Die Entfernung zwischen dem decodierten Plus Code und dem Anfragepunkt beträgt weniger als 10 Meter.
Das vollständige JSON-Objekt hat das folgende Format:
{ "results": [ { "place": "//places.googleapis.com/places/ChIJV-FZF7i7j4ARo4ZOUoecZFU", "placeId": "ChIJV-FZF7i7j4ARo4ZOUoecZFU", "location": { "latitude": 37.422588300000008, "longitude": -122.0846489 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.421239319708512, "longitude": -122.0859978802915 }, "high": { "latitude": 37.423937280291511, "longitude": -122.08329991970851 } }, "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "addressComponents": [ { "longText": "1600", "shortText": "1600", "types": [ "street_number" ] }, { "longText": "Amphitheatre Parkway", "shortText": "Amphitheatre Pkwy", "types": [ "route" ], "languageCode": "en" }, { "longText": "Mountain View", "shortText": "Mountain View", "types": [ "locality", "political" ], "languageCode": "en" }, { "longText": "Santa Clara County", "shortText": "Santa Clara County", "types": [ "administrative_area_level_2", "political" ], "languageCode": "en" }, { "longText": "California", "shortText": "CA", "types": [ "administrative_area_level_1", "political" ], "languageCode": "en" }, { "longText": "United States", "shortText": "US", "types": [ "country", "political" ], "languageCode": "en" }, { "longText": "94043", "shortText": "94043", "types": [ "postal_code" ] } ], "types": [ "street_address" ], "plusCode": { "globalCode": "849VCW83+PM", "compoundCode": "CW83+PM Mountain View, CA, USA" } }, { "place": "//places.googleapis.com/places/ChIJj61dQgK6j4AR4GeTYWZsKWw", "placeId": "ChIJj61dQgK6j4AR4GeTYWZsKWw", "location": { "latitude": 37.4220541, "longitude": -122.08532419999999 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.4207051197085, "longitude": -122.08667318029148 }, "high": { "latitude": 37.423403080291493, "longitude": -122.08397521970851 } }, "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "addressComponents": [ { "longText": "1600", "shortText": "1600", "types": [ "street_number" ] }, { "longText": "Amphitheatre Parkway", "shortText": "Amphitheatre Pkwy", "types": [ "route" ], "languageCode": "en" }, { "longText": "Mountain View", "shortText": "Mountain View", "types": [ "locality", "political" ], "languageCode": "en" }, { "longText": "Santa Clara County", "shortText": "Santa Clara County", "types": [ "administrative_area_level_2", "political" ], "languageCode": "en" }, { "longText": "California", "shortText": "CA", "types": [ "administrative_area_level_1", "political" ], "languageCode": "en" }, { "longText": "United States", "shortText": "US", "types": [ "country", "political" ], "languageCode": "en" }, { "longText": "94043", "shortText": "94043", "types": [ "postal_code" ] } ], "types": [ "establishment", "point_of_interest" ], "plusCode": { "globalCode": "849VCWC7+RV", "compoundCode": "CWC7+RV Mountain View, CA, USA" } }, ... ], "plusCode": { "globalCode": "849VCWF8+24H", "compoundCode": "CWF8+24H Mountain View, CA, USA" } }
Erforderliche Parameter
Standort
Die Breiten- und Längengradkoordinaten, die angeben, wo die am nächsten liegende Adresse in visuell lesbarer Form ausgegeben werden soll.
Optionale Parameter
languageCode
Die Sprache, in der die Ergebnisse zurückgegeben werden sollen.
- Hier finden Sie eine Liste der unterstützten Sprachen. Die unterstützten Sprachen werden regelmäßig von Google aktualisiert. Diese Liste ist daher möglicherweise nicht vollständig.
-
Wenn
languageCode
nicht angegeben ist, verwendet die API standardmäßigen
. Wenn Sie einen ungültigen Sprachcode angeben, gibt die API den FehlerINVALID_ARGUMENT
zurück. - Die API versucht, eine Straßenadresse bereitzustellen, die sowohl für den Nutzer als auch für Einheimische lesbar ist. Dazu werden Straßenadressen in der lokalen Sprache zurückgegeben, die bei Bedarf in ein für den Nutzer lesbares Schriftsystem transliteriert werden. Dabei wird die bevorzugte Sprache berücksichtigt. Alle anderen Adressen werden in der bevorzugten Sprache zurückgegeben. Alle Adresskomponenten werden in derselben Sprache zurückgegeben, die anhand der ersten Komponente ausgewählt wird.
- Wenn ein Name in der bevorzugten Sprache nicht verfügbar ist, wird die nächstgelegene Übereinstimmung verwendet.
- Die bevorzugte Sprache hat einen geringen Einfluss auf die Ergebnisse, die von der API zurückgegeben werden, und auf die Reihenfolge, in der sie zurückgegeben werden. Der Geocoder interpretiert Abkürzungen je nach Sprache unterschiedlich, z. B. Abkürzungen für Straßentypen oder Synonyme, die in einer Sprache gültig sein können, in einer anderen jedoch nicht.
regionCode
Der Regionscode als zweistelliger CLDR-Code. Es gibt keinen Standardwert. Die meisten CLDR-Codes sind mit den ISO 3166-1-Codes identisch.
Beim Geocoding einer Adresse (Forward Geocoding) kann dieser Parameter die Ergebnisse des Dienstes für die angegebene Region beeinflussen, aber nicht vollständig einschränken. Wenn Sie einen Ort oder einen Standort geocodieren (umgekehrte Geocodierung oder Orts-Geocodierung), kann dieser Parameter verwendet werden, um die Adresse zu formatieren. In allen Fällen kann sich dieser Parameter aufgrund des anwendbaren Rechts auf die Ergebnisse auswirken.
Detaillierungsgrad
Eine oder mehrere Standortgranularitäten, die als separate Abfrageparameter angegeben werden, wie in
Granularity
definiert. Wenn Sie mehreregranularity
-Parameter angeben, gibt die API alle Adressen zurück, die mit einer der Granularitäten übereinstimmen.Mit dem Parameter
granularity
wird die Suche nicht auf die angegebenen Standorte eingeschränkt. Stattdessen dientgranularity
als Filter nach der Suche. Die API ruft alle Ergebnisse für die angegebenelocation
ab und verwirft dann die Ergebnisse, die nicht den angegebenen Standortgranularitäten entsprechen.Wenn Sie sowohl
types
als auchgranularity
angeben, gibt die API nur die Ergebnisse zurück, die beiden entsprechen. Beispiel:https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338?granularity=ROOFTOP
&granularity=GEOMETRIC_CENTER &key=API_KEY Typen
Ein oder mehrere Adresstypen, die als separate Abfrageparameter angegeben werden. Wenn Sie mehrere
types
-Parameter angeben, gibt die API alle Adressen zurück, die mit einem der Typen übereinstimmen.Der Parameter
types
beschränkt die Suche nicht auf die angegebenen Adresstypen. Stattdessen dienttypes
als Filter nach der Suche. Die API ruft alle Ergebnisse für den angegebenen Ort ab und verwirft dann die Ergebnisse, die nicht dem angegebenen Adresstyp bzw. den angegebenen Adresstypen entsprechen.Wenn Sie sowohl
types
als auchgranularity
angeben, gibt die API nur die Ergebnisse zurück, die beiden entsprechen. Beispiel:https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338?types=administrative_area_level_2
&types=locality &key=API_KEY Folgende Werte werden unterstützt:
Typen von Adressen und Adresskomponenten
Das
types
-Array imGeocodeResult
-Body der Antwort gibt den Adresstyp an. Beispiele für Adresstypen sind eine Straße, ein Land oder eine politische Einheit. Dastypes
-Array im FeldAddressComponents
desGeocodeResult
-Bodys gibt den Typ der einzelnen Teile der Adresse an. Dazu gehören bspw. Hausnummer oder Land.Adressen können mehrere Typen aufweisen. Die Typen können als „Tags“ betrachtet werden. Viele Städte haben z. B. Tags vom Typ
political
undlocality
.Die folgenden Typen werden sowohl in den Arrays für Adresstypen als auch für Adresskomponententypen unterstützt und zurückgegeben:
Adresstyp Beschreibung street_address
Eine genaue Adresse. route
Eine Straße mit einer Bezeichnung, z. B. „B1“. intersection
Eine größere Kreuzung, üblicherweise von zwei Hauptstraßen. political
Eine politische Einheit. Normalerweise zeigt dieser Typ ein Polygon an, das einer öffentlichen Verwaltungseinheit entspricht. country
Die staatliche politische Einheit (Land) ist normalerweise der Typ mit dem höchsten Rang, der vom Geocoder zurückgegeben wird. administrative_area_level_1
Eine öffentliche Verwaltungseinheit eine Stufe unterhalb der Landesebene. In den USA sind diese Verwaltungsebenen die Bundesstaaten. Diese Verwaltungsebenen gibt es nicht in allen Ländern. In den meisten Fällen sind Kurzbezeichnungen dieses Typs eng an die Untereinheiten des Standards ISO 3166-2 und andere gängige Definitionen angelehnt. Eine Garantie hierfür können wir jedoch nicht geben, da unsere Geocoding-Ergebnisse auf verschiedenen Signalen und Standortdaten basieren. administrative_area_level_1
administrative_area_level_2
Eine öffentliche Verwaltungseinheit zwei Stufen unterhalb der Landesebene. In den USA sind diese Verwaltungsebenen die Countys. Diese Verwaltungsebenen gibt es nicht in allen Ländern. administrative_area_level_3
Eine öffentliche Verwaltungseinheit drei Stufen unterhalb der Landesebene. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen gibt es nicht in allen Ländern. administrative_area_level_4
Eine öffentliche Verwaltungseinheit vier Stufen unterhalb der Landesebene. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen gibt es nicht in allen Ländern. administrative_area_level_5
Eine öffentliche Verwaltungseinheit fünf Stufen unterhalb der Landesebene. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen gibt es nicht in allen Ländern. administrative_area_level_6
Eine öffentliche Verwaltungseinheit sechs Stufen unterhalb der Landesebene. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen gibt es nicht in allen Ländern. administrative_area_level_7
Eine öffentliche Verwaltungseinheit sieben Stufen unterhalb der Landesebene. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen gibt es nicht in allen Ländern. colloquial_area
Eine gängige alternative Bezeichnung für die Einheit. locality
Eine politische Einheit in Form einer Stadt oder Gemeinde. sublocality
Eine öffentliche Verwaltungseinheit eine Stufe unterhalb des Ortes. Für einige Standorte wird möglicherweise einer der folgenden zusätzlichen Typen ausgegeben: sublocality_level_1
bissublocality_level_5
. Jede dieser Ebenen entspricht einer Verwaltungseinheit. Je höher die Zahl, desto kleiner das geografische Gebiet.neighborhood
Ein benanntes Viertel. premise
Ein benannter Ort, normalerweise ein Gebäude oder ein Komplex von Gebäuden mit einem gemeinsamen Namen. subpremise
Eine adressierbare Einheit unterhalb der Gebäudeebene, z. B. eine Wohnung oder ein Büro. plus_code
Ein codierter Verweis auf den Standort, der sich aus Breiten- und Längengrad ableiten lässt. Plus Codes können als Ersatz für Adressen verwendet werden, wenn keine Adressen vorhanden sind, z. B. wenn Gebäude keine Hausnummern oder Straßen keine Namen haben. Weitere Informationen finden Sie unter https://plus.codes. postal_code
Eine Postleitzahl, wie sie zum Adressieren von Postsendungen innerhalb des Landes verwendet wird. natural_feature
Ein auffallendes Landschaftsmerkmal. airport
Ein Flughafen. park
Ein benannter Park. point_of_interest
Ein benannter POI. In der Regel sind diese POIs bekannte lokale Objekte, die sich keiner anderen Kategorie zuordnen lassen, z. B. das Brandenburger Tor oder der Eiffelturm. Eine leere Typenliste bedeutet, dass für eine bestimmte Adresskomponente keine Typen vorhanden sind, wie z. B. ein Lieu-dit in Frankreich.