Der Begriff Geocoding bezeichnet im Allgemeinen die Umwandlung einer menschenlesbaren Adresse in einen Standort auf einer Karte. Der umgekehrte Prozess, also die Umwandlung eines Standortes auf einer Karte in eine menschenlesbare Adresse, wird als umgekehrte Geocodierung bezeichnet.
Anfragen zur umgekehrten Geocodierung
Erforderliche Parameter
latlng: die Breiten- und Längengradkoordinaten des Standorts, für den die am nächsten liegende menschenlesbare Adresse ausgegeben werden soll.key: Der API-Schlüssel Ihrer Anwendung. Dieser Schlüssel identifiziert Ihre Anwendung für die Kontingentverwaltung. Informationen zum Abrufen eines Schlüssels
Optionale Parameter
Folgende optionale Parameter können in einer Anfrage zur umgekehrten Geocodierung enthalten sein:
language: Die Sprache, in der die Ergebnisse zurückgegeben werden sollen.- Eine Liste der unterstützten Sprachen finden Sie hier. Die unterstützten Sprachen werden regelmäßig von Google aktualisiert, sodass diese Liste unter Umständen nicht vollständig ist.
- Wenn
languagenicht angegeben ist, versucht der Geocoder, die imAccept-Language-Header angegebene bevorzugte Sprache oder die Muttersprache der Domain zu verwenden, von der die Anfrage gesendet wird. - Der Geocoder versucht, eine Adresse anzugeben, die sowohl für den Nutzer als auch für Einheimische lesbar ist. Dazu werden Adressen in der Landessprache zurückgegeben, die bei Bedarf in eine für den Nutzer lesbare Schrift transkribiert werden, wobei die bevorzugte Sprache berücksichtigt wird. Alle anderen Adressen werden in der bevorzugten Sprache zurückgegeben. Adresskomponenten werden alle in derselben Sprache zurückgegeben, die von der ersten Komponente ausgewählt wird.
- Wenn ein Name in der bevorzugten Sprache nicht verfügbar ist, verwendet der Geocoder die nächstgelegene Übereinstimmung.
region: der Regionscode, angegeben als zweistelliger Ländercode der Top-Level-Domain (ccTLD). Der Parameter kann sich auch auf Ergebnisse auswirken, die auf geltendem Recht basieren.result_type: Ein Filter mit einem oder mehreren Adresstypen, die durch einen senkrechten Strich (|) getrennt sind. Wenn der Parameter mehrere Adresstypen enthält, gibt die API alle Adressen zurück, die mit einem der Typen übereinstimmen. Hinweis zur Verarbeitung: Der Parameterresult_typebeschränkt die Suche nicht auf die angegebenen Adresstypen. Vielmehr fungiert derresult_typeals Filter nach der Suche: Die API ruft alle Ergebnisse für die angegebenelatlngab und verwirft dann die Ergebnisse, die nicht mit den angegebenen Adresstypen übereinstimmen. Die folgenden Werte werden unterstützt:Typen von Adressen und Adresskomponenten
Das
types-Array imGeocodeResult-Text der Antwort gibt den Adresstyp an. Beispiele für Adresstypen sind eine Adresse, ein Land oder eine politische Einheit. Dastypes-Array im FeldAddressComponentsdesGeocodeResult-Texts 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
politicalundlocality.Die folgenden Typen werden sowohl im Array für den Adresstyp als auch im Array für den Adresskomponententyp 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. Normalerweise zeigt dieser Typ ein Polygon an, das einer öffentlichen Verwaltungseinheit entspricht. countryEine staatliche politische Einheit (Land). Dies ist 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 administrative_area_level_1Kurzbezeichnungen 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_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 Grundstücksebene, z. B. eine Wohnung, ein Apartment 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.
location_type: Ein Filter mit einem oder mehreren Ortstypen, die durch einen senkrechten Strich (|) getrennt sind. Wenn der Parameter mehrere Ortstypen enthält, gibt die API alle Adressen zurück, die einem der Typen entsprechen. Hinweis zur Verarbeitung: Der Parameterlocation_typebeschränkt die Suche nicht auf die angegebenen Ortstypen. Stattdessen fungiert derlocation_typeals Filter nach der Suche: Die API ruft alle Ergebnisse für den angegebenenlatlngab und verwirft dann die Ergebnisse, die nicht den angegebenen Ortstypen entsprechen. Folgende Werte werden unterstützt:"ROOFTOP"gibt nur die Adressen zurück, für die Google Standortinformationen mit einer Genauigkeit bis zur Straßenadresse hat."RANGE_INTERPOLATED"gibt nur die Adressen zurück, die eine Schätzung sind (normalerweise auf einer Straße), die anhand von zwei genauen Punkten (wie Kreuzungen) interpoliert wurde. Ein interpolierter Bereich weist in der Regel darauf hin, dass für eine Adresse keine genaue Geocodierung möglich ist."GEOMETRIC_CENTER"gibt nur geometrische Mittelpunkte eines Standorts zurück, z. B. eine Polylinie (z. B. eine Straße) oder ein Polygon (eine Region)."APPROXIMATE"gibt nur die Adressen zurück, die als ungefähre Adressen gekennzeichnet sind.
extra_computations: Mit diesem Parameter können Sie die folgenden zusätzlichen Funktionen in der Antwort angeben:ADDRESS_DESCRIPTORS: Weitere Informationen finden Sie unter Adressdeskriptoren.BUILDING_AND_ENTRANCES: Weitere Informationen finden Sie unter Eingänge und Gebäudeumrisse.
extra_computationsfür jede Funktion in die Anfrage ein, z. B.:extra_computations=ADDRESS_DESCRIPTORS&extra_computations=BUILDING_AND_ENTRANCES
Wenn sowohl der Filter result_type als auch der Filter location_type vorhanden sind, gibt die API nur die Ergebnisse zurück, die sowohl mit den Werten von result_type als auch mit den Werten von location_type übereinstimmen. Wenn keiner der Filterwerte zulässig ist, gibt die API ZERO_RESULTS zurück.
Beispiel für umgekehrte Geocodierung
Die folgende Abfrage enthält den Breiten- und Längengrad-Wert für einen Ort in Brooklyn:
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
Die obige Abfrage gibt folgendes Ergebnis zurück:
{
"results" : [
{
"address_components" : [
{
"long_name" : "277",
"short_name" : "277",
"types" : [ "street_number" ]
},
{
"long_name" : "Bedford Avenue",
"short_name" : "Bedford Ave",
"types" : [ "route" ]
},
{
"long_name" : "Williamsburg",
"short_name" : "Williamsburg",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Brooklyn",
"short_name" : "Brooklyn",
"types" : [ "sublocality", "political" ]
},
{
"long_name" : "Kings",
"short_name" : "Kings",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "New York",
"short_name" : "NY",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "11211",
"short_name" : "11211",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "277 Bedford Avenue, Brooklyn, NY 11211, USA",
"geometry" : {
"location" : {
"lat" : 40.714232,
"lng" : -73.9612889
},
"location_type" : "ROOFTOP",
"viewport" : {
"northeast" : {
"lat" : 40.7155809802915,
"lng" : -73.9599399197085
},
"southwest" : {
"lat" : 40.7128830197085,
"lng" : -73.96263788029151
}
}
},
"place_id" : "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
"types" : [ "street_address" ]
},
... Additional <code>results[]</code> ...
Beachten Sie, dass der umgekehrte Geocodierer mehr als ein Ergebnis zurückgegeben hat. Die "formatted_address"-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. All das wertet der Geocodierer als Adresse. Der Reverse Geocoder gibt jeden dieser Typen als gültiges Ergebnis zurück.
Die umgekehrte Geocodierung gleicht Verwaltungseinheiten (Länder, Provinzen, Städte, Stadtteile), Adressen und Postleitzahlen ab.
Die vollständige Liste der formatted_address-Werte, die von der vorherigen Abfrage zurückgegeben wurden, finden Sie unten.
{
"plus_code" : {
"compound_code" : "P27Q+MCM New York, NY, USA",
"global_code" : "87G8P27Q+MCM"
},
"results" : [
{
"formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "street_address" ]
},
{
"formatted_address" : "279 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "premise" ]
},
{
"formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "establishment", "point_of_interest" ]
},
{
"formatted_address" : "291-275 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "route" ]
},
{
"formatted_address" : "P27Q+MC New York, NY, USA",
...
"types" : [ "plus_code" ]
},
{
"formatted_address" : "South Williamsburg, Brooklyn, NY, USA",
...
"types" : [ "neighborhood", "political" ]
},
{
"formatted_address" : "Brooklyn, NY 11211, USA",
...
"types" : [ "postal_code" ]
},
{
"formatted_address" : "Williamsburg, Brooklyn, NY, USA",
...
"types" : [ "neighborhood", "political" ]
},
{
"formatted_address" : "Kings County, Brooklyn, NY, USA",
...
"types" : [ "administrative_area_level_2", "political" ]
},
{
"formatted_address" : "Brooklyn, NY, USA",
...
"types" : [ "political", "sublocality", "sublocality_level_1" ]
},
{
"formatted_address" : "New York, NY, USA",
...
"types" : [ "locality", "political" ]
},
{
"formatted_address" : "New York, USA",
...
"types" : [ "administrative_area_level_1", "political" ]
},
{
"formatted_address" : "United States",
...
"types" : [ "country", "political" ]
}
],
"status" : "OK"
}
Diese API gibt verschiedene Arten von Adressen zurück, von den genauen Adressen, d. h. Straßen, bis hin zu weniger genauen politischen Einheiten wie Stadtteilen, Städten, Landkreisen oder Bundesländern. Normalerweise wird die am besten passende Adresse an erster Stelle angezeigt. Wenn Sie einen bestimmten Adresstyp abgleichen möchten, lesen Sie den Abschnitt Ergebnisse nach Typ einschränken unten. Daher kann die Position der Ergebnisse relativ zueinander variieren.
Umgekehrte Geocodierung nach Typ gefiltert
Im folgenden Beispiel werden die zurückgegebenen Adressen so gefiltert, dass nur Adressen mit dem Standorttyp ROOFTOP und dem Adresstyp street_address enthalten sind.
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452
&location_type=ROOFTOP&result_type=street_address&key=YOUR_API_KEY
Hinweis:Diese Filter sind nur für die umgekehrte Geocodierung gültig.
Antworten auf umgekehrte Geocodierung
Das Format der Antwort bei der umgekehrten Geocodierung entspricht dem der Geocodierungsantwort. Weitere Informationen finden Sie unter Geocoding-Antworten. Im Folgenden finden Sie die Statuscodes, die in den Antworten des umgekehrten Geocoding möglich sind.
Statuscodes für die umgekehrte Geocodierung
Das Feld "status" im Geocoding-Antwortobjekt enthält den Status der Anfrage und evtl. Debugging-Informationen, mit deren Hilfe Sie herausfinden können, warum die umgekehrte Geocodierung nicht funktioniert. Das Feld "status" kann folgende Werte enthalten:
"OK"gibt an, dass keine Fehler aufgetreten sind und mindestens eine Adresse zurückgegeben wurde."ZERO_RESULTS"gibt an, dass die umgekehrte Geocodierung erfolgreich war, aber keine Ergebnisse zurückgegeben wurden. Dieser Status kann ausgegeben werden, wenn dem Geocoder einlatlng-Element an einem entfernten Ort übergeben wurde."OVER_QUERY_LIMIT"gibt an, dass Sie Ihr Kontingent überschritten haben."REQUEST_DENIED"gibt an, dass die Anfrage abgelehnt wurde. Möglicherweise, weil die Anfrage einenresult_type- oderlocation_type-Parameter, aber keinen API-Schlüssel enthält."INVALID_REQUEST"weist in der Regel auf einen der folgenden Punkte hin:- Die Anfrage (
address,componentsoderlatlng) fehlt. - Es wurde ein ungültiger
result_typeoderlocation_typeangegeben.
- Die Anfrage (
"UNKNOWN_ERROR"gibt an, dass die Anfrage aufgrund eines Serverfehlers nicht verarbeitet werden konnte. Möglicherweise ist die Anfrage erfolgreich, wenn Sie es noch einmal versuchen.
Umgekehrte Geocodierung von Plus Codes
Das Feld plus_code in der Geocoding-Antwort enthält einen Plus Code, der dem abgefragten Breiten- und Längengrad am besten entspricht.
Außerdem enthält das JSON-Ergebnisarray in den meisten Fällen ein vollständiges Geocoding-Ergebnis mit dem Typ plus_code und einer Adresse, die einen Plus Code enthält. Der Abstand zwischen dem decodierten Plus Code und dem Anfragepunkt beträgt garantiert weniger als 10 Meter.