Anfrage und Antwort für umgekehrtes Geocoding (Adressensuche)

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Der Begriff Geocoding bezieht sich im Allgemeinen auf die Umwandlung einer von Menschen lesbaren Adresse in eine Position auf einer Karte. Der gegenteilige Vorgang, der Übersetzen einer Stelle auf der Karte in eine von Menschen lesbare Adresse, wird als umgekehrte Geocodierung bezeichnet.

Umgekehrte Geocoding-Anfragen

Erforderliche Parameter

  • latlng: Breiten- und Längengrad, der den Standort angibt, für den Sie die nächste Klartextadresse erhalten möchten.
  • key: Der API-Schlüssel Ihrer Anwendung. Dieser Schlüssel identifiziert Ihre Anwendung zum Zweck der Kontingentverwaltung. Schlüssel anfordern

Optionale Parameter

Das sind die optionalen Parameter, die Sie in eine umgekehrte Geocoding-Anfrage aufnehmen können:

  • language: Die Sprache, in der die Ergebnisse zurückgegeben werden sollen.
    • Hier finden Sie eine Liste der unterstützten Sprachen. Die unterstützten Sprachen werden häufig von Google aktualisiert. Die Liste ist daher unter Umständen nicht vollständig.
    • Wenn language nicht angegeben ist, versucht der Geocoder, die im Accept-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. Zu diesem Zweck werden Adressen in der Landessprache zurückgegeben und bei Bedarf in ein für den Nutzer lesbares Skript unter Berücksichtigung 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 in der bevorzugten Sprache nicht verfügbar ist, verwendet der Geocoder die größte Übereinstimmung.
  • 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 mit einem der Typen übereinstimmen. Hinweis zur Verarbeitung: Der Parameter result_type schränkt die Suche nicht auf die angegebenen Adresstypen ein. Vielmehr dient result_type als Filter nach der Suche: Die API ruft alle Ergebnisse für die angegebene latlng ab und verwirft dann diese Ergebnisse, die nicht mit den angegebenen Adresstypen übereinstimmen. Die folgenden Werte werden unterstützt:
    • street_address gibt eine genaue Adresse an.
    • route gibt eine benannte Route an, z. B. "US 101".
    • intersection gibt eine größere Kreuzung an, üblicherweise von zwei Hauptstraßen.
    • political gibt eine politische Einheit an. Dieser Typ gibt in der Regel ein Polygon einer gewissen Verwaltung an.
    • country gibt die nationale politische Einheit an und ist normalerweise der höchste Typ, der vom Geocodierer zurückgegeben wird.
    • administrative_area_level_1 gibt eine erstrangige öffentliche Verwaltungseinheit unterhalb der Länderebene an. Innerhalb der USA sind diese Verwaltungsebenen die Bundesstaaten. Diese Verwaltungsebenen werden nicht von allen Ländern genutzt. In den meisten Fällen entsprechen die Kurznamen „admin_area_level_1“ den ISO 3166-2-Unterteilungen und anderen weit verbreiteten Listen. Dies ist jedoch nicht garantiert, da unsere Geocoding-Ergebnisse auf einer Vielzahl von Signalen und Standortdaten basieren.
    • administrative_area_level_2 gibt eine zweitrangige öffentliche Verwaltungseinheit unterhalb der Länderebene an. Innerhalb der USA sind diese Verwaltungsebenen die Countys. Diese Verwaltungsebenen werden nicht von allen Ländern genutzt.
    • administrative_area_level_3 gibt eine drittrangige öffentliche Verwaltungseinheit unterhalb der Länderebene an. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen bestehen jedoch nicht in allen Ländern.
    • administrative_area_level_4 gibt eine viertrangige öffentliche Verwaltungseinheit unterhalb der Länderebene an. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen bestehen jedoch nicht in allen Ländern.
    • administrative_area_level_5 gibt eine fünfte öffentliche Verwaltungseinheit unterhalb der Länderebene an. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen bestehen jedoch nicht in allen Ländern.
    • administrative_area_level_6 gibt eine sechstrangige öffentliche Verwaltungseinheit unterhalb der Länderebene an. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen bestehen jedoch nicht in allen Ländern.
    • administrative_area_level_7 gibt eine siebente Organisationseinheit unter der Länderebene an. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen bestehen jedoch nicht in allen Ländern.
    • colloquial_area gibt einen häufig verwendeten alternativen Namen für die Entität an.
    • locality gibt eine politische Stadt oder einen Ort an.
    • sublocality gibt eine erstrangige öffentliche Verwaltungseinheit unterhalb eines Orts an. Für einige Standorte gilt möglicherweise einer der zusätzlichen Typen: sublocality_level_1 bis sublocality_level_5. Jede dieser Ebenen ist eine Verwaltungseinheit. Größere Zahlen geben ein kleineres geografisches Gebiet an.
    • neighborhood gibt ein benanntes Viertel an
    • premise gibt einen benannten Ort an, normalerweise ein Gebäude oder eine Sammlung von Gebäuden mit einem gemeinsamen Namen.
    • subpremise gibt eine erstrangige Entität unterhalb eines benannten Orts an, normalerweise ein einzelnes Gebäude innerhalb eines Gebäudekomplexes mit einem gemeinsamen Namen.
    • plus_code gibt einen codierten Standortverweis an, der aus Breiten- und Längengrad abgeleitet wird. Plus Codes können als Ersatz für Adressen an Orten verwendet werden, an denen sie nicht vorhanden sind (wo Gebäude nicht nummeriert sind oder Straßen nicht benannt sind). Weitere Informationen findest du unter https://plus.codes.
    • postal_code gibt eine Postleitzahl an, die zur Adressierung von Postsendungen innerhalb des Landes verwendet wird.
    • natural_feature weist auf ein bekanntes natürliches Merkmal hin.
    • 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 nicht leicht in eine andere Kategorie einfügen lassen, z. B. an ein Empire State Building oder den 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 mit einem der Typen übereinstimmen. Hinweis zur Verarbeitung: Der Parameter location_type schränkt die Suche nicht auf die angegebenen Standorttypen ein. Stattdessen fungiert location_type als Post-Search-Filter: Die API ruft alle Ergebnisse für die angegebene latlng ab und verwirft dann die Ergebnisse, die nicht mit den angegebenen Standorttypen übereinstimmen. Die folgenden Werte werden unterstützt:
    • "ROOFTOP" gibt nur die Adressen zurück, für die Google Standortinformationen bis zur Straßengenauigkeit genau hat.
    • "RANGE_INTERPOLATED" gibt nur die Adressen zurück, die eine Näherung darstellen (normalerweise auf einer Straße), die zwischen zwei präzise lokalisierten Punkten (z. B. Kreuzungen) interpoliert wurden. Ein interpolierter Bereich gibt im Allgemeinen an, dass Geocodes auf dem Dach für Adressen nicht verfügbar sind.
    • "GEOMETRIC_CENTER" gibt nur geometrische Mittelpunkte eines Standorts wie eine Polylinie (z. B. eine Straße) oder ein Polygon (Region) zurück.
    • "APPROXIMATE" gibt nur die Adressen zurück, die als ungefähr gekennzeichnet sind.

Wenn sowohl der 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 location_type übereinstimmen. Wenn keiner der Filterwerte akzeptabel ist, gibt die API ZERO_RESULTS zurück.

Beispiel für umgekehrtes Geocoding

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 eine beliebige Möglichkeit, einen Ort geografisch zu benennen. Wenn Sie beispielsweise einen Punkt in der Stadt Chicago geocodieren, kann dieser als Straßenadresse, als Stadt (Chicago), als Bundesstaat (Illinois) oder als Land (USA) angegeben werden. All das wertet der Geocodierer als Adresse. Der umgekehrte Geocoder gibt einen dieser Typen als gültige Ergebnisse zurück.

Der umgekehrte Geocoder ordnet politische Entitäten (Länder, Provinzen, Städte und Stadtteile), Adressen und Postleitzahlen zu.

Die vollständige Liste der von der vorherigen Abfrage zurückgegebenen formatted_address-Werte sehen Sie unten.

"formatted_address" : "277 Bedford Avenue, Brooklyn, NY 11211, USA",
"formatted_address" : "Grand St/Bedford Av, Brooklyn, NY 11211, USA",
"formatted_address" : "Grand St/Bedford Av, Brooklyn, NY 11249, USA",
"formatted_address" : "Bedford Av/Grand St, Brooklyn, NY 11211, USA",
"formatted_address" : "Brooklyn, NY 11211, USA",
"formatted_address" : "Williamsburg, Brooklyn, NY, USA",
"formatted_address" : "Brooklyn, NY, USA",
"formatted_address" : "New York, NY, USA",
"formatted_address" : "New York, USA",
"formatted_address" : "United States",

Im Allgemeinen werden Adressen von der spezifischsten zur am wenigsten spezifischen Adresse zurückgegeben. Die genaueste Adresse wird an erster Stelle angezeigt, wie es in diesem Fall der Fall ist. Beachten Sie, dass verschiedene Arten von Adressen zurückgegeben werden, von den spezifischsten Adressen bis hin zu den weniger genauen politischen Verwaltungseinheiten wie Stadtteile, Städte, Landkreise oder Bundesländer. Wenn Sie einen bestimmten Adresstyp abgleichen möchten, lesen Sie den folgenden Abschnitt unter Ergebnisse nach Typ einschränken.

Umgekehrtes Geocoding, gefiltert nach Typ

Im folgenden Beispiel werden die zurückgegebenen Adressen so gefiltert, dass nur die Adressen mit dem Standorttyp ROOFTOP und dem Adressentyp 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 das umgekehrte Geocoding gültig.

Umgekehrte Geocoding-Antworten

Das Format der Antwort für das umgekehrte Geocoding 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.

Statuscodes für umgekehrtes Geocoding

Das Feld "status" im Geocoding-Antwortobjekt enthält den Status der Anfrage sowie möglicherweise Informationen zur Fehlerbehebung, mit denen Sie herausfinden können, warum das umgekehrte Geocoding 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 das umgekehrte Geocoding erfolgreich war, aber keine Ergebnisse zurückgegeben hat. Dieser Fehler kann auftreten, wenn dem Geocoder ein latlng an einem Remote-Standort ü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 einen result_type- oder location_type-Parameter, aber keinen API-Schlüssel enthält.
  • "INVALID_REQUEST" steht normalerweise für einen der folgenden Werte:
    • Die Abfrage (address, components oder latlng) fehlt.
    • Der Wert für result_type oder location_type ist ungültig.
  • "UNKNOWN_ERROR" gibt an, dass die Anfrage aufgrund eines Serverfehlers nicht verarbeitet werden konnte. Die Anfrage ist möglicherweise erfolgreich, wenn Sie es noch einmal versuchen.

Umgekehrtes Geocoding plus Codes

Das Feld plus_code im Geocoding-Antwortobjekt 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 eine Adresse mit einem Plus Code. Die Entfernung zwischen dem decodierten Plus Code und dem Anfragepunkt muss unter 10 Metern liegen.