Nach Zielen suchen

Entwickler im Europäischen Wirtschaftsraum (EWR)

Ein Destination bezieht sich auf einen wichtigen POI oder einen bestimmten Ort, den ein Nutzer erreichen oder zu dem er navigieren möchte. Ein Destination kann Informationen wie Navigationspunkte, Sehenswürdigkeiten, Eingänge und Gebäudeumrisse enthalten.

Mit dem SearchDestinations Endpunkt der Geocoding API können Sie detaillierte Informationen zu verschiedenen Zielen anhand unterschiedlicher Eingabekriterien abrufen, z. B. einer Adresse, einer Orts-ID oder geografischen Koordinaten (Breiten- und Längengrad).

Anfrage zum Suchen nach Zielen

Eine Anfrage zum Suchen nach Zielen ist eine HTTP POST-Anfrage an eine URL im folgenden Format:

https://geocode.googleapis.com/v4beta/geocode/destinations

Übergeben Sie alle Parameter im JSON-Anfragetext oder in Headern als Teil der POST Anfrage. Beispiel:

curl -X POST -d '{
  "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4beta/geocode/destinations

Sie können den Ort, an dem nach einem Ziel gesucht werden soll, auf drei Arten angeben:

  • Adresse
  • Orts-ID
  • Geografische Koordinaten (Breiten- und Längengrad)

Nach einem Ziel anhand der Adresse suchen

Sie können die Adresse als unstrukturierten String angeben. Bei der Adressgeocodierung werden keine geografischen Koordinaten (Breiten- und Längengrad) oder andere unstrukturierte Strings aufgelöst, die keine Adresse darstellen. Anfragen mit solchen Strings werden nicht unterstützt und können zu Fehlerantworten oder nicht spezifiziertem Verhalten führen. Beispiele für nicht unterstützte Abfragen:

Abfragetyp Beispiel
Geografische Koordinaten (Breiten- und Längengrad) Verwenden Sie stattdessen eine Standortabfrage. "37.422131,-122.084801"
Zu viele Konzepte oder Einschränkungen, z. B. die Namen mehrerer Orte, Straßen oder Städte in einer einzigen Abfrage "Market Street San Francisco San Jose Airport"
Postadressenelemente, die nicht in Google Maps dargestellt werden "C/O John Smith 123 Main Street"
"P.O. Box 13 San Francisco"
Namen von Unternehmen, Ketten oder Kategorien in Kombination mit Orten, an denen diese Entitäten nicht verfügbar sind "Tesco near Dallas, Texas"
Mehrdeutige Abfragen mit mehreren Interpretationen "Charger drop-off"
Historische Namen, die nicht mehr verwendet werden "Middlesex United Kingdom"
Nicht geografische Elemente oder Absichten "How many boats are in Ventura Harbor?"
Inoffizielle oder Vanity-Namen "The Jenga"
"The Helter Skelter"
Große politische Einheiten (Städte, Bundesländer, Länder) "New York City"
"California"
"USA"
Routen ohne bestimmte Adressen "1st Ave., NYC, NY"
"I-95"
curl -X POST -d '{
  "addressQuery": {
    "addressQuery": "601 S Bernardo Ave, Sunnyvale, CA 94087, USA"
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4beta/geocode/destinations

oder als postalAddress:

curl -X POST -d '{
  "addressQuery": {
    "address": {
      "addressLines": ["601 S Bernardo Ave"],
      "locality": "Sunnyvale",
      "postalCode": "94087",
      "administrativeArea": "CA",
      "regionCode": "US"
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4beta/geocode/destinations

Das Format postalAddress wird in der Regel verwendet, wenn Adresskomponenten verarbeitet werden, die in einem HTML-Formular erfasst wurden.

Nach einem Ziel anhand der Orts-ID suchen

Sie können ein Ziel abrufen, indem Sie eine Orts ID angeben:

curl -X POST -d '{
  "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4beta/geocode/destinations

Unterstützte Orts-IDs

Der Endpunkt „Search Destinations“ funktioniert am besten mit Orts-IDs, die bestimmte, navigierbare Ziele darstellen.

Orts-IDs für Typen wie establishment, point_of_interest, premise, street_address, und subpremise werden im Allgemeinen unterstützt.

Orts-IDs, die keine diskreten Orte darstellen, z. B. solche, die aus Adressbereichen abgeleitet wurden (z. B. „10-20 Main St“), Abschnitte einer Route ohne bestimmte Nummer oder Plus Codes, werden nicht unterstützt.

Um die Kompatibilität bei der Verwendung von „Place Autocomplete“ zum Suchen nach Orts-IDs zu gewährleisten, sollten Sie die Ergebnisse nach Typ filtern. Sie können den includedPrimaryTypes Parameter in Ihren Autocomplete-Anfragen verwenden, um nur die oben aufgeführten unterstützten Typen einzuschließen:

"includedPrimaryTypes": [ "establishment", "point_of_interest", "premise", "street_address", "subpremise" ]

So wird sichergestellt, dass die von „Place Autocomplete“ zurückgegebenen Orts-IDs am besten kompatibel mit der Methode „Search Destinations“ sind. Beachten Sie, dass der establishment Typ weit gefasst ist. Dieser Filter ist zwar erforderlich, um viele Unternehmens standorte zu erfassen, kann aber auch „Place Autocomplete“-Ergebnisse für natural_feature Typen enthalten, die in „Search Destinations“ nur eingeschränkt unterstützt werden.

Nach einem Ziel anhand des Standorts suchen

Sie können nach einem Ziel suchen, indem Sie geografische Koordinaten (Breiten- und Längengrad) angeben:

curl -X POST -d '{
  "locationQuery": {
    "location": {
      "latitude": 37.37348780,
      "longitude": -122.05678064
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4beta/geocode/destinations

OAuth für Anfragen 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 dem Endpunkt „Destinations“ :

  • https://www.googleapis.com/auth/maps-platform.geocode : Für alle Endpunkte der Geocoding API verwenden.

Außerdem können Sie den allgemeinen https://www.googleapis.com/auth/cloud-platform Bereich für alle Endpunkte 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 Endpunkte ermöglicht.

Weitere Informationen und Beispiele finden Sie unter OAuth verwenden.

Antwort zum Suchen nach Zielen

Hyperlokaler Kontext zum Standort

Die Antwort „Search Destinations“ bietet einen umfassenden, hyperlokalen Kontext zum Standort. Wichtige Felder sind:

  • primary: Der Hauptort, der durch die Abfrage in der Anfrage identifiziert wurde.
  • containingPlaces: Größere Entitäten, zu denen das primäre Ziel gehört (z. B. ein Einkaufszentrum mit einem Geschäft).
  • subDestinations: Genauere Orte innerhalb des primären Ziels (z. B. Apartments in einem Gebäude).
  • entrances: Bestimmte Ein- und Ausgänge für das Ziel.
  • navigationPoints: Geeignete Orte in der Nähe einer Straße, an denen die Navigation beendet werden kann.
  • arrivalSummary: KI-gestützte Informationen zur Unterstützung bei der Ankunft. Weitere Informationen zu KI-gestützten Zusammenfassungen.
  • landmarks: Bemerkenswerte Orte in der Nähe, die Nutzern helfen, die Umgebung des Ziels zu verstehen.

Ausführliche Informationen zu allen Antwortfeldern finden Sie in der API Referenz.

Antwortformat

„SearchDestinations“ gibt eine SearchDestinationsResponse im folgenden JSON-Format zurück:

{
  "destinations": [
    {
      "primary": {
        "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w",
        "displayName": {
          "text": "Arby's",
          "languageCode": "en"
        },
        "primaryType": "fast_food_restaurant",
        "types": [
          "fast_food_restaurant",
          "sandwich_shop",
          "deli",
          "american_restaurant",
          "meal_takeaway",
          "restaurant",
          "food_store",
          "food",
          "point_of_interest",
          "store",
          "establishment"
        ],
        "formattedAddress": "Arby's, 601 S Bernardo Ave, Sunnyvale, CA 94087, USA",
        "postalAddress": {
          "regionCode": "US",
          "languageCode": "en",
          "postalCode": "94087",
          "administrativeArea": "CA",
          "locality": "Sunnyvale",
          "addressLines": [
            "601 S Bernardo Ave"
          ]
        },
        "structureType": "BUILDING",
        "location": {
          "latitude": 37.3734545,
          "longitude": -122.05693269999998
        },
        "displayPolygon":
{ ... } { "type": "Polygon", "coordinates": [ [ [ -122.056930138027, 37.3735253692531 ], [ -122.056960139391, 37.3735372663597 ], [ -122.056994129366, 37.3734828786847 ], [ -122.056969677395, 37.3734731161089 ], [ -122.057061762447, 37.3733261309656 ], [ -122.056979388817, 37.3732935577128 ], [ -122.056798860285, 37.3735818838642 ], [ -122.056875858081, 37.3736121235316 ], [ -122.056930138027, 37.3735253692531 ] ] ] }
}, "containingPlaces": [ { "place": "places/ChIJYfdAFum2j4ARIcL2tjME3Sw", "displayName": { "text": "Cherry Chase Shopping Center", "languageCode": "en" }, "primaryType": "shopping_mall", "types": [ "shopping_mall", "point_of_interest", "establishment" ], "formattedAddress": "Cherry Chase Shopping Center, 663 S Bernardo Ave, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1020", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "663 S Bernardo Ave" ] }, "structureType": "GROUNDS", "location": { "latitude": 37.3731231, "longitude": -122.0578211 }, "displayPolygon":
{ ... } { "type": "Polygon", "coordinates": [ [ [ -122.057112227103, 37.3714618008523 ], [ -122.057076849821, 37.3715743611411 ], [ -122.056963607756, 37.3719081793948 ], [ -122.056865279559, 37.3722026053835 ], [ -122.056687872374, 37.3727258358476 ], [ -122.056580005889, 37.3730511370747 ], [ -122.056498845827, 37.3732994782583 ], [ -122.056338259713, 37.3737878663325 ], [ -122.056618678291, 37.373887693582 ], [ -122.056912102521, 37.3740010327191 ], [ -122.057532418159, 37.3742476426462 ], [ -122.057673926626, 37.3742441740031 ], [ -122.057735663106, 37.3742328516943 ], [ -122.057766531332, 37.3742220604378 ], [ -122.057797572967, 37.37420520725 ], [ -122.057828267759, 37.3741852342085 ], [ -122.058060299297, 37.3740060842535 ], [ -122.058199726081, 37.3737861673422 ], [ -122.05836707267, 37.373524542556 ], [ -122.058569622393, 37.3732018598683 ], [ -122.0587638478, 37.3728890198039 ], [ -122.058934661823, 37.3726036257774 ], [ -122.059164956851, 37.3722498383629 ], [ -122.058997784906, 37.3721804442035 ], [ -122.057936479838, 37.3717605636234 ], [ -122.057495827092, 37.3715860151634 ], [ -122.057112227103, 37.3714618008523 ] ] ] }
} ], "landmarks":
[ ... ] [ { "place": { "place": "places/ChIJteQ0Fum2j4ARGi3tqK4Zm14", "displayName": { "text": "Safeway", "languageCode": "en" }, "primaryType": "grocery_store", "types": [ "grocery_store", "florist", "butcher_shop", "deli", "bakery", "food_delivery", "supermarket", "market", "food_store", "food", "point_of_interest", "store", "establishment" ], "formattedAddress": "Safeway, 639 S Bernardo Ave, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "639 S Bernardo Ave" ] }, "structureType": "POINT", "location": { "latitude": 37.3727912, "longitude": -122.0581172 } }, "tags": [ "ARRIVAL", "ADDRESS" ], "relationalDescription": { "text": "Around the corner from Safeway", "languageCode": "en" }, "straightLineDistanceMeters": 158.65607, "travelDistanceMeters": 131.16699 }, { "place": { "place": "places/ChIJ8enMlui2j4AR2xXK5EHDhBs", "displayName": { "text": "Starbird Chicken", "languageCode": "en" }, "types": [ "fast_food_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "Starbird Chicken, 1241 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1028", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1241 W El Camino Real" ] }, "structureType": "BUILDING", "location": { "latitude": 37.3746764, "longitude": -122.05708860000001 }, "displayPolygon":
{ ... } { "type": "Polygon", "coordinates": [ [ [ -122.057003840785, 37.3747648209809 ], [ -122.057136852459, 37.3747919153144 ], [ -122.057205005705, 37.3745815131859 ], [ -122.057071994114, 37.3745544186944 ], [ -122.057003840785, 37.3747648209809 ] ] ] }
}, "tags": [ "ARRIVAL", "ADDRESS" ], "relationalDescription": { "text": "Near Starbird Chicken", "languageCode": "en" }, "straightLineDistanceMeters": 87.34801, "travelDistanceMeters": 214.08084 }, { "place": { "place": "places/ChIJXXTe7Oi2j4ARoMTA-D6Hjpg", "displayName": { "text": "Chase Bank", "languageCode": "en" }, "primaryType": "bank", "types": [ "bank", "atm", "finance", "point_of_interest", "establishment" ], "formattedAddress": "Chase Bank, 1234 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1234 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.373579, "longitude": -122.05752700000001 } }, "tags": [ "ARRIVAL", "ADDRESS" ], "relationalDescription": { "text": "Near Chase Bank", "languageCode": "en" }, "straightLineDistanceMeters": 61.182194, "travelDistanceMeters": 63.075645 }, { "place": { "place": "places/ChIJlbIO1Oi2j4ARp17Uf24xkHk", "displayName": { "text": "Madras Café", "languageCode": "en" }, "primaryType": "indian_restaurant", "types": [ "indian_restaurant", "coffee_shop", "cafe", "restaurant", "food_store", "food", "point_of_interest", "store", "establishment" ], "formattedAddress": "Madras Café, 1177 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1026", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1177 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.3743, "longitude": -122.0549333 } }, "tags": [ "ARRIVAL", "ADDRESS" ], "relationalDescription": { "text": "Near Madras Café", "languageCode": "en" }, "straightLineDistanceMeters": 204.45102, "travelDistanceMeters": 235.12041 } ]
, "entrances": [ { "location": { "latitude": 37.373531299999996, "longitude": -122.05694519999999 }, "tags": [ "PREFERRED" ], "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w" } ], "navigationPoints": [ { "location": { "latitude": 37.3738659, "longitude": -122.05693620000001 }, "travelModes": [ "DRIVE", "WALK" ], "usages": [ "UNKNOWN" ] } ] } ] }

Erforderliche Parameter

  • Einer der folgenden drei Parameter muss in der API-Anfrage enthalten sein. Er gibt die Adresse, den Ort oder den Standort an, nach dem gesucht werden soll:
    • addressQuery : Die Adresse, nach der gesucht werden soll.
    • place : Die Orts-ID des Ortes, nach dem gesucht werden soll.
    • locationQuery : Die geografischen Koordinaten (Breiten- und Längengrad) des Standorts, nach dem gesucht werden soll.
  • FieldMask

    Geben Sie die Liste der Felder an, die in der Antwort zurückgegeben werden sollen, indem Sie eine Feldmaske für die Antwort erstellen. Übergeben Sie die Feldmaske für die Antwort an die Methode, indem Sie den URL-Parameter $fields oder fields, oder indem Sie den HTTP-Header X-Goog-FieldMask verwenden. Die folgende Anfrage gibt beispielsweise nur die Eingänge, Navigationspunkte und die Orts-ID des primären Ziels zurück.

      curl -X POST -d '{"place": "places/ChIJG3kh4hq6j4AR_XuFQnV0_t8"}' \
        -H "X-Goog-Api-Key: API_KEY" \
        -H "Content-Type: application/json" \
        -H "X-Goog-FieldMask: destinations.entrances,destinations.navigationPoints,destinations.primary.place" \
        https://geocode.googleapis.com/v4beta/geocode/destinations
      

    Es gibt keine Standardliste der zurückgegebenen Felder in der Antwort. Wenn Sie die Feldmaske weglassen, gibt die Methode einen Fehler zurück. Legen Sie die Feldmaske auf * fest, um alle Felder zurückzugeben. Weitere Informationen

Optionale Parameter

  • travelModes

    Gibt an, welche Arten von navigationPoints zurückgegeben werden sollen. Navigationspunkte für andere Verkehrsmittel werden herausgefiltert. Wenn travelModes nicht festgelegt ist, können Navigationspunkte aller Verkehrsmittel zurückgegeben werden.

  • 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 sodass diese Liste möglicherweise nicht vollständig ist.
    • Wenn languageCode nicht angegeben wird, verwendet die API standardmäßig en. Wenn Sie einen ungültigen Sprachcode angeben, gibt die API einen INVALID_ARGUMENT Fehler zurück.
    • Die API versucht, eine Adresse anzugeben, die sowohl für den Nutzer als auch für Einheimische lesbar ist. Zu diesem Zweck werden Adressen in der lokalen Sprache zurückgegeben und bei Bedarf in ein für den Nutzer lesbares Schriftsystem transliteriert, 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 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 Ergebnisse, die die API zurückgibt, 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 sind mit den ISO 3166-1-Codes identisch.

    Bei der Geocodierung einer Adresse, Forward Geocoding, 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 (Reverse Geocoding oder Place Geocoding) 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.

  • placeFilter

    Hiermit können Sie die Ergebnisse einer locationQuery Suche filtern, um Ihre Anforderungen zu erfüllen, z. B. nur Ziele zurückgeben, die Gebäude sind, oder nur Ziele mit eindeutigen Adressen.

    Nach struktureller Granularität filtern

    Mit dem Filter structureType können Sie die Art der Strukturen angeben, die von der Abfrage zurückgegeben werden:

    • Gebäude isolieren: Verwenden Sie "structureType": "BUILDING", um Gebäudeumrisse auf einer Karte anzuzeigen oder Details zu einer bestimmten Struktur abzurufen.
    • Komplexe verstehen: Verwenden Sie "structureType": "GROUNDS", um sicherzustellen, dass das primäre Ergebnis das gesamte Gelände ist. Das ist nützlich, wenn Sie nach größeren Gebieten wie Universitätsgeländen oder Einkaufszentren suchen.
    • Auf Einheiten/Abschnitte konzentrieren: Verwenden Sie "structureType": "SECTION", um Abschnitte innerhalb eines Gebäudes zu identifizieren.

    Nützliche Adressen sicherstellen

    Nicht alle Orte haben eindeutige Adressen auf Straßenebene. Mit dem Filter addressability hilft Ihnen die Qualität der Adressen in Ihren Ergebnissen zu steuern:

    • Eindeutige primäre Adresse erforderlich: Wenn das primäre Zielergebnis immer eine Adresse oder einen Namen auf Straßenebene haben soll, verwenden Sie "addressability": "PRIMARY". Das ist nützlich für Navigations- oder Anzeigezwecke, bei denen eine eindeutige Adresse entscheidend ist.
    • Adressen in Unterzielen zulassen: Wenn der primäre Ort keine Adresse hat, aber Einheiten darin (z. B. Apartments in einem Gebäude), sorgt "addressability": "WEAK" dafür, dass mindestens der primäre Ort oder eines seiner Unterziele eine Adresse hat.
    • Beliebiges Ergebnis: Wenn die Adresspräsenz für Ihren Anwendungsfall nicht relevant ist, verwenden Sie "addressability": "ANY".
    Beispiel: Nach adressierbaren Gebäuden filtern
    curl -X POST -d '{
      "locationQuery": {
        "location": {
          "latitude": 37.37348780,
          "longitude": -122.05678064
        },
        "placeFilter": {
          "structureType": "BUILDING",
          "addressability": "PRIMARY"
        }
      },
      "languageCode": "en"
    }' \\
    -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \\
    -H "X-Goog-FieldMask: place" \\
    https://geocode.googleapis.com/v4beta/geocode/destinations
    

Feedback

Dies ist ein experimenteller Endpunkt der Geocoding API. Wir freuen uns über Feedback unter geocoding-feedback-channel@google.com.