Der Begriff Geocoding bezeichnet im Allgemeinen die Umwandlung einer Adresse in lesbarer Form in einen Standort auf einer Karte. Der umgekehrte Prozess, also die Umwandlung eines Standortes auf einer Karte in eine Adresse in lesbarer Form, wird als umgekehrte Geocodierung bezeichnet.
Umgekehrte Geocoding-Anfragen
Erforderliche Parameter
latlng
: Die Breiten- und Längengradkoordinaten, die den Standort angeben, für den Sie die nächste Adresse in lesbarer Form angeben möchten.key
: Der API-Schlüssel Ihrer Anwendung. Dieser Schlüssel identifiziert Ihre Anwendung zum Zweck der Kontingentverwaltung. Schlüssel abrufen
Optionale Parameter
Dies sind die optionalen Parameter, die Sie in eine umgekehrte Geocodierungsanfrage aufnehmen können:
language
: Die Sprache, in der die Ergebnisse zurückgegeben werden sollen.- Hier finden Sie eine Liste der unterstützten Sprachen. Google aktualisiert die unterstützten Sprachen häufig. Die Liste ist daher unter Umständen nicht vollständig.
- Wenn
language
nicht angegeben wird, versucht der Geocoder, die imAccept-Language
-Header angegebene bevorzugte Sprache oder die Muttersprache der Domain zu verwenden, von der die Anfrage gesendet wird. - Über den Geocoder wird eine Adresse angegeben, die sowohl für den Nutzer als auch für Einheimische lesbar ist. Um dieses Ziel zu erreichen, werden Adressen in der jeweiligen lokalen Sprache zurückgegeben und in ein für den Nutzer lesbares Skript in der bevorzugten Sprache transkribiert. Alle anderen Adressen werden in der bevorzugten Sprache zurückgegeben. Adresskomponenten werden alle in derselben Sprache zurückgegeben, die aus der ersten Komponente ausgewählt wird.
- Wenn ein Name nicht in der bevorzugten Sprache verfügbar ist, verwendet der Geocoder die höchste Übereinstimmung.
region
: der zweistellige Ländercode für die Top-Level-Domain (ccTLD). Der Parameter kann aufgrund geltender Gesetze auch Auswirkungen auf die Ergebnisse haben.result_type
: Ein Filter mit einem oder mehreren Adresstypen, getrennt durch einen senkrechten Strich (|
). Wenn der Parameter mehrere Adresstypen enthält, gibt die API alle Adressen zurück, die einem der Typen entsprechen. Hinweis zur Verarbeitung: Mit dem Parameterresult_type
wird die Suche nicht auf die angegebenen Adresstypen begrenzt. Vielmehr dientresult_type
als Post-Search-Filter: Die API ruft alle Ergebnisse für die angegebenelatlng
ab und verwirft dann diese Ergebnisse, die nicht den angegebenen Adresstypen entsprechen. Folgende Werte werden unterstützt:street_address
gibt eine genaue Adresse an.route
gibt eine Straße mit einer Bezeichnung an, z. B. „B1“.intersection
gibt eine größere Kreuzung, üblicherweise von 2 Hauptstraßen an.political
gibt eine politische Einheit an. Dieser Typ stellt meistens ein Polygon einer öffentlichen Einrichtung dar.country
gibt eine staatliche politische Einheit (Land) an und ist normalerweise der Typ mit dem höchsten Rang, der vom Geocoder zurückgegeben wird.administrative_area_level_1
gibt eine öffentliche Verwaltungseinheit 1 Stufe unterhalb der Landesebene an. In den USA sind diese Verwaltungsebenen z. B. 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_2
gibt eine öffentliche Verwaltungseinheit 2 Stufen unterhalb der Landesebene an. In den USA sind diese Verwaltungsebenen z. B. die Countys. Diese Verwaltungsebenen gibt es nicht in allen Ländern.administrative_area_level_3
gibt eine öffentliche Verwaltungseinheit 3 Stufen unterhalb der Landesebene an. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen gibt es nicht in allen Ländern.administrative_area_level_4
gibt eine öffentliche Verwaltungseinheit 4 Stufen unterhalb der Landesebene an. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen gibt es nicht in allen Ländern.administrative_area_level_5
gibt eine öffentliche Verwaltungseinheit 5 Stufen unterhalb der Landesebene an. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen gibt es nicht in allen Ländern.administrative_area_level_6
gibt eine öffentliche Verwaltungseinheit 6 Stufen unterhalb der Landesebene an. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen gibt es nicht in allen Ländern.administrative_area_level_7
gibt eine öffentliche Verwaltungseinheit 7 Stufen unterhalb der Landesebene an. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen gibt es nicht in allen Ländern.colloquial_area
gibt eine gängige alternative Bezeichnung für die Einheit an.locality
gibt die politische Einheit einer Stadt oder Gemeinde an.sublocality
gibt eine öffentliche Verwaltungseinheit eine Stufe unterhalb des Ortes an. 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
gibt ein benanntes Stadtviertel an.premise
gibt einen benannten Ort an, normalerweise ein Gebäude oder einen Komplex von Gebäuden mit einem gemeinsamen Namen.subpremise
gibt eine erstrangige Einheit unterhalb der Ebene eines benannten Ortes an, normalerweise ein einzelnes Gebäude innerhalb eines Gebäudekomplexes mit einem gemeinsamen Namen.plus_code
gibt einen codierten Verweis auf den Standort an, 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
gibt eine Postleitzahl an, wie sie zum Adressieren von Postsendungen innerhalb des Landes verwendet wird.natural_feature
gibt ein auffallendes Landschaftsmerkmal an.airport
gibt einen Flughafen an.park
gibt einen benannten Park an.point_of_interest
gibt einen benannten POI an. In der Regel sind diese POIs bekannte lokale Objekte, die sich keiner anderen Kategorie zuordnen lassen, z. B. das Brandenburger Tor oder der Eiffelturm.
location_type
: Ein Filter mit einem oder mehreren Standorttypen, getrennt durch einen senkrechten Strich (|
). Wenn der Parameter mehrere Standorttypen enthält, gibt die API alle Adressen zurück, die einem der Typen entsprechen. Hinweis zur Verarbeitung: Mit dem Parameterlocation_type
wird die Suche nicht auf die angegebenen Standorttypen begrenzt. Vielmehr dient derlocation_type
als Post-Search-Filter: Die API ruft alle Ergebnisse für den angegebenenlatlng
ab und verwirft dann die Ergebnisse, die nicht mit den angegebenen Standorttypen übereinstimmen. Folgende Werte werden unterstützt:"ROOFTOP"
gibt nur die Adressen zurück, für die Google genaue Standortinformationen bis zur Genauigkeit der Adresse bereitstellt."RANGE_INTERPOLATED"
gibt nur die Adressen zurück, die eine Näherung darstellen (normalerweise auf einer Straße), die anhand von zwei genau ermittelten Punkten (wie z. B. einer Kreuzung) interpoliert wurde. Ein interpolierter Bereich gibt im Allgemeinen an, dass Geocoding-Daten für eine Adresse nicht verfügbar sind."GEOMETRIC_CENTER"
gibt nur geometrische Zentren eines Standorts wie Polylinien (z. B. Straßen) oder Polygone (Regionen) zurück."APPROXIMATE"
gibt nur die Adressen zurück, die als annähernd gekennzeichnet sind.
Wenn sowohl die Filter result_type
als auch location_type
vorhanden sind, gibt die API nur die Ergebnisse zurück, die sowohl mit result_type
als auch mit den location_type
-Werten übereinstimmen. Wenn keiner der Filterwerte akzeptabel ist, gibt die API ZERO_RESULTS
zurück.
Beispiel für die 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 das umgekehrte Geocoding mehr als ein Ergebnis zurückgegeben hat. Die "formatted_address"
-Ergebnisse sind nicht nur 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) angegeben sein. All das wertet der Geocodierer als Adresse. Bei der umgekehrten Geocodierung werden alle diese Typen als gültige Ergebnisse zurückgegeben.
Bei der umgekehrten Geocodierung werden politische Einheiten (Länder, Provinzen, Städte und Stadtteile), Adressen und Postleitzahlen abgeglichen.
Die vollständige Liste der formatted_address
-Werte, die von der vorherigen Abfrage zurückgegeben wurden, wird unten angezeigt.
{
"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 unterschiedliche 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 und Bundesländern. In der Regel ist die präzisere Adresse das auffälligste Ergebnis. Wenn Sie einen bestimmten Adressentyp angeben möchten, finden Sie unten im Abschnitt Ergebnisse nach Typ einschränken weitere Informationen. Aus diesem Grund kann die Position der Ergebnisse im Verhältnis zueinander variieren.
Umgekehrte Geocodierung nach Typ gefiltert
Im folgenden Beispiel werden die zurückgegebenen Adressen so gefiltert, dass nur die Adressen mit dem Standorttyp ROOFTOP
und dem Adresstyp street_address
zurückgegeben werden.
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 für das umgekehrte Geocoding
Das Format der umgekehrten Geocodierungsantwort entspricht dem der Geocoding-Antwort. Weitere Informationen finden Sie unter Geocoding-Antworten. Im Folgenden finden Sie die Statuscodes, die in den Antworten des umgekehrten Geocoding möglich sind.
Codes des umgekehrten Geocodings
Das Feld "status"
im Geocoding-Antwortobjekt enthält den Status der Anfrage und evtl. Debugging-Informationen, mit deren Hilfe Sie ermitteln können, warum die umgekehrte Geocodierung nicht funktioniert. Das Feld "status"
kann die folgenden 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 Fehler kann auftreten, wenn dem Geocoder einlatlng
an einem Remotestandort ü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"
gibt im Allgemeinen einen der folgenden Werte an:- Die Abfrage (
address
,components
oderlatlng
) fehlt. - Es wurde eine ungültige
result_type
oderlocation_type
angegeben.
- Die Abfrage (
"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 mit Plus Codes
Das Feld plus_code
in der Geocoding-Antwort enthält einen Plus Code, mit dem der abgefragte Breiten- und Längengrad am besten geschätzt wird.
Außerdem enthält das JSON-Ergebnisarray in den meisten Fällen ein vollständiges Geocoding-Ergebnis mit dem Typ plus_code
und eine Adresse mit einem Plus Code. Die Entfernung zwischen dem decodierten Plus Code und dem Anfragepunkt liegt garantiert unter 10 Metern.