Bei der umgekehrten Geocodierung wird ein Standort auf einer Karte in eine Adresse in visuell lesbarer Form umgewandelt. Der Standort auf der Karte wird durch die Breiten- und Längengradkoordinaten des Standorts dargestellt.
Wenn Sie einen Standort 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 genauesten Adresse (Straße) bis hin zu weniger genauen politischen Einheiten wie Stadtteilen, Städten, Landkreisen und Bundesländern. Die genaueste Adresse ist in der Regel das erste Ergebnis. Wenn
Sie eine bestimmte Art von Adresse erhalten möchten, verwenden Sie den
types Parameter.
Anfrage zur umgekehrten Geocodierung
Eine Anfrage zur umgekehrten Geocodierung ist eine HTTP-GET-Anfrage. Sie können den Standort als einen unstrukturierten String angeben:
https://geocode.googleapis.com/v4/geocode/location/LATITUDE,LONGITUDE
Oder als eine strukturierte Menge von Breiten- und Längengrad koordinaten, die durch Abfrageparameter dargestellt werden:
https://geocode.googleapis.com/v4/geocode/location?location.latitude=LATITUDE&location.longitude=LONGITUDE
Das strukturierte Format wird in der Regel verwendet, wenn Standortkomponenten verarbeitet werden, die in einem HTML-Formular erfasst wurden.
Übergeben Sie alle anderen Parameter als URL-Parameter oder, bei Parametern wie dem API-Schlüssel oder der Feldmaske, in Headern als Teil der GET-Anfrage. Beispiel:
Unstrukturierten Standortstring übergeben
Ein unstrukturierter Standort ist ein Standort, der als durch Kommas getrennter String mit Breiten- und Längengradkoordinaten formatiert ist:
https://geocode.googleapis.com/v4/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/v4/geocode/location/37.4225508,-122.0846338"
Strukturierten Standort übergeben
Geben Sie den strukturierten Standort mit dem location Abfrageparameter vom Typ
LatLng an.
Mit dem Objekt LatLng können Sie den Breiten- und Längengrad als separate Abfrageparameter angeben:
https://geocode.googleapis.com/v4/geocode/location?location.latitude=37.4225508&location.longitude=-122.0846338 &key=API_KEY
Anfrage mit OAuth senden
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: Für alle Methoden der Geocoding API verwenden.https://www.googleapis.com/auth/maps-platform.geocode.location: Nur mitGeocodeLocationfür die umgekehrte Geocodierung verwenden.
Außerdem können Sie den allgemeinen Bereich https://www.googleapis.com/auth/cloud-platform für alle Methoden der Geocoding API verwenden. Dieser Bereich ist während der Entwicklung nützlich, aber nicht in der Produktion, da er ein allgemeiner Bereich ist, der Zugriff auf alle Methoden ermöglicht.
Weitere Informationen und Beispiele finden Sie unter OAuth verwenden.
Antwort zur umgekehrten Geocodierung
Bei der umgekehrten Geocodierung wird ein
GeocodeLocationResponse
Objekt zurückgegeben, das Folgendes enthält:
Das
resultsArray vonGeocodeResultObjekten, das den Ort darstellt.Bei der umgekehrten Geocodierung werden im Array
resultsmehrere Ergebnisse 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
plusCodevom TypPlusCodeenthält den Plus Code, der den Breiten- und Längengrad in der Anfrage am besten annähert. Außerdem enthält jedes Element des Arraysresultseinen 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 Sie die nächstgelegene, visuell lesbare Adresse erhalten möchten.
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 Daher ist diese Liste möglicherweise nicht vollständig.
-
Wenn
languageCodenicht angegeben wird, verwendet die API standardmäßigen. Wenn Sie einen ungültigen Sprachcode angeben, gibt die API einenINVALID_ARGUMENTFehler zurück. - Die API versucht, eine Adresse zurückzugeben, die sowohl für den Nutzer als auch für Einheimische lesbar ist. Dazu werden Adressen in der lokalen Sprache zurückgegeben, bei Bedarf in ein für den Nutzer lesbares Schriftsystem transliteriert und die bevorzugte Sprache berücksichtigt. Alle anderen Adressen werden in der bevorzugten Sprache zurückgegeben. Adresskomponenten werden alle in derselben Sprache zurückgegeben, die anhand der ersten Komponente ausgewählt wird.
- Wenn ein Name in der bevorzugten Sprache nicht verfügbar ist, verwendet die API die nächstbeste Übereinstimmung.
- Die bevorzugte Sprache hat einen geringen Einfluss auf die Menge der 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. die 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 entsprechen den ISO 3166-1-Codes.
Bei der Geocodierung einer Adresse (Geocodierung) kann dieser Parameter die Ergebnisse des Dienstes für die angegebene Region beeinflussen, aber nicht vollständig einschränken. Bei der Geocodierung eines Standorts oder eines Ortes (umgekehrte Geocodierung oder Geocodierung von Orten}) kann dieser Parameter verwendet werden, um die Adresse zu formatieren. In allen Fällen kann dieser Parameter die Ergebnisse auf Grundlage des geltenden Rechts beeinflussen.
Leseeinheit
Eine oder mehrere Leseeinheiten für Standorte, angegeben als separate Abfrageparameter, wie in
Granularitydefiniert. Wenn Sie mehreregranularity-Parameter angeben, gibt die API alle Adressen zurück, die mit einer der Leseeinheiten übereinstimmen.Der
granularityParameter schränkt die Suche nicht auf die angegebenen Leseeinheiten für Standorte ein. Stattdessen,granularitydient als Filter nach der Suche. Die API ruft alle Ergebnisse für den angegebenenlocationab und verwirft dann die Ergebnisse, die nicht mit den angegebenen Leseeinheiten für Standorte übereinstimmen.Wenn Sie sowohl
typesals auchgranularityangeben, gibt die API nur die Ergebnisse zurück, die mit beiden übereinstimmen. Beispiel:https://geocode.googleapis.com/v4/geocode/location/37.4225508,-122.0846338?granularity=ROOFTOP
&granularity=GEOMETRIC_CENTER &key=API_KEY Typen
Eine oder mehrere Adresstypen, angegeben als separate Abfrageparameter. Wenn Sie mehrere
typesParameter angeben, gibt die API alle Adressen zurück, die mit einem der Typen übereinstimmen.Der
typesParameter schränkt die Suche nicht auf die angegebenen Adresstypen ein. Stattdessentypesdient als Filter nach der Suche. Die API ruft alle Ergebnisse für den angegebenen Standort ab und verwirft dann die Ergebnisse, die nicht mit den angegebenen Adresstypen übereinstimmen.Wenn Sie sowohl
typesals auchgranularityangeben, gibt die API nur die Ergebnisse zurück, die mit beiden übereinstimmen. Beispiel:https://geocode.googleapis.com/v4/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 Array
typesimGeocodeResult-Textkörper der Antwort gibt den Adresstyp an. Beispiele für Adresstypen sind eine Adresse, ein Land oder eine politische Einheit. DastypesArray in the field of theAddressComponentsbody indicates the type of each part of theGeocodeResultaddress. 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
politicalundlocality.Die folgenden Typen werden sowohl als Adresstypen als auch als Adresskomponenten unterstützt und zurückgegeben:
Adresstyp Beschreibung street_addressEine genaue Adresse. routeEine Straße mit einer Bezeichnung, z. B. „B1“. intersectionEine größere Kreuzung, üblicherweise von zwei Hauptstraßen. politicalEine politische Einheit. Dieser Typ steht meist für ein Polygon einer öffentlichen Einrichtung. countryDie nationale politische Einheit (Land) und normalerweise der Typ mit dem höchsten Rang, der vom Geocoder zurückgegeben wird. administrative_area_level_1Eine ö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_1administrative_area_level_2Eine ö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_3Eine ö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_4Eine ö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_5Eine ö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_6Eine ö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_7Eine ö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_areaEine gängige alternative Bezeichnung für die Einheit. localityEine politische Einheit in Form einer Stadt oder Gemeinde. sublocalityEine öffentliche Verwaltungseinheit eine Stufe unterhalb des Ortes. Für einige Standorte wird möglicherweise einer der folgenden zusätzlichen Typen ausgegeben: sublocality_level_1bissublocality_level_5. Jede dieser Ebenen entspricht einer Verwaltungseinheit. Je höher die Zahl, desto kleiner das geografische Gebiet.neighborhoodEin benanntes Viertel. premiseEin benannter Ort, normalerweise ein Gebäude oder ein Komplex von Gebäuden mit einem gemeinsamen Namen. subpremiseEine adressierbare Einheit unterhalb der Ebene des Gebäudes, z. B. eine Wohnung, eine Einheit oder eine Suite. plus_codeEin 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_codeEine Postleitzahl, wie sie zum Adressieren von Postsendungen innerhalb des Landes verwendet wird. natural_featureEin auffallendes Landschaftsmerkmal. airportEin Flughafen. parkEin benannter Park. point_of_interestEin 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.
-
FieldMask
Erstellen Sie eine Feldmaske für die Antwort, um die Felder anzugeben, die in der Antwort zurückgegeben werden sollen. Übergeben Sie die Feldmaske für die Antwort an die Methode, indem Sie den URL-Parameter
$fieldsoderfields, oder indem Sie den HTTP-HeaderX-Goog-FieldMaskverwenden. Die folgende Anfrage gibt beispielsweise nur die FelderplaceIDder Antwort zurück. Die Antwort lautet:curl -X GET -H 'Content-Type: application/json' \ -H 'X-Goog-FieldMask: results.placeId' \ -H "X-Goog-Api-Key: API_KEY" \ "https://geocode.googleapis.com/v4/geocode/location/37.4225508,-122.0846338"
{ "results": [ { "placeId": "ChIJHRNUiQK6j4ARJ__Hrbt6qsE" }, { "placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g" }, { "placeId": "ChIJ1yjFJ1-7j4ARG_RVqFD1h7k" }, { "placeId": "ChIJ09H2YwK6j4ARoF7qfCBxhB8" }, ... ] }
Weitere Informationen finden Sie unter Felder auswählen, die zurückgegeben werden sollen.