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":}, "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.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 ] ] ] }} ], "landmarks":{ ... }
{ "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 ] ] ] }, "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" ] } ] } ] }[ ... ]
[ { "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":}, "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 } ]{ ... }
{ "type": "Polygon", "coordinates": [ [ [ -122.057003840785, 37.3747648209809 ], [ -122.057136852459, 37.3747919153144 ], [ -122.057205005705, 37.3745815131859 ], [ -122.057071994114, 37.3745544186944 ], [ -122.057003840785, 37.3747648209809 ] ] ] }
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
$fieldsoderfields, oder indem Sie den HTTP-HeaderX-Goog-FieldMaskverwenden. 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/destinationsEs 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
navigationPointszurückgegeben werden sollen. Navigationspunkte für andere Verkehrsmittel werden herausgefiltert. WenntravelModesnicht 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
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 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
locationQuerySuche 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
structureTypekö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
addressabilityhilft 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 - Gebäude isolieren: Verwenden Sie
Feedback
Dies ist ein experimenteller Endpunkt der Geocoding API. Wir freuen uns über Feedback unter geocoding-feedback-channel@google.com.