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, Orientierungspunkte, Eingänge und Gebäudeumrisse enthalten.
Mit dem Endpunkt SearchDestinations der Geocoding API können Sie detaillierte Informationen zu verschiedenen Zielen anhand unterschiedlicher Eingabekriterien wie Adresse, Orts-ID oder Breiten- und Längengradkoordinaten abrufen.
Anfrage zum Suchen von Zielen
Eine Anfrage zum Suchen von Zielen ist eine HTTP POST-Anfrage an eine URL im folgenden Format:
https://geocode.googleapis.com/v4alpha/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/v4alpha/geocode/destinations
Sie haben drei Möglichkeiten, den Ort anzugeben, an dem nach einem Ziel gesucht werden soll:
- Adresse
- Orts-ID
- Geografische Koordinaten (Breiten- und Längengrad)
Nach einem Ziel anhand einer Adresse suchen
Sie können die Adresse als unstrukturierten String angeben:
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/v4alpha/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/v4alpha/geocode/destinations
Normalerweise verwenden Sie das Format postalAddress, wenn Sie Adresskomponenten verarbeiten, die in einem HTML-Formular erfasst wurden.
Nach einem Zielort 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/v4alpha/geocode/destinations
Nach einem Zielort anhand des Standorts suchen
Sie können nach einem Ziel suchen, indem Sie Breiten- und Längengrade 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/v4alpha/geocode/destinations
OAuth zum Stellen einer Anfrage 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 Destinations-Endpunkt:
https://www.googleapis.com/auth/maps-platform.geocode– Für alle Geocoding API-Endpunkte verwenden.
Außerdem können Sie den allgemeinen https://www.googleapis.com/auth/cloud-platform-Bereich für alle Geocoding API-Endpunkte verwenden. Dieser Bereich ist während der Entwicklung nützlich, aber nicht in der Produktion, da er ein allgemeiner Bereich ist, der den Zugriff auf alle Endpunkte ermöglicht.
Weitere Informationen und Beispiele finden Sie unter OAuth verwenden.
Antwort auf die Suche nach Zielen
Hyperlokaler Kontext zum Standort
Die Antwort von Search Destinations enthält umfassenden, hyperlokalen Kontext zum Standort. Wichtige Felder:
primary: Der Hauptort, der durch die Anfrage in der Anfrage identifiziert wird.containingPlaces: Größere Einheiten, zu denen das primäre Ziel gehört, z. B. ein Einkaufszentrum mit einem Geschäft.subDestinations: Genauere Standorte innerhalb des primären Ziels (z. B. Wohnungen in einem Gebäude).entrances: Spezifische Ein- und Ausstiegspunkte für das Ziel.navigationPoints: Geeignete Orte in der Nähe einer Straße für die Navigation zum Ziel.arrivalSummary: KI-basierte Informationen zur Unterstützung bei der Ankunft. Weitere Informationen finden Sie unter KI-basierte Zusammenfassungen.landmarks: Wichtige Orte in der Nähe, damit Nutzer die Umgebung des Zielorts besser kennenlernen.
Vollständige Informationen zu allen Antwortfeldern finden Sie in der API-Referenz.
Antwortformat
„SearchDestinations“ gibt ein 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, um die Adresse, den Ort oder den Standort anzugeben, nach dem gesucht werden soll:
addressQuery: die Adresse, nach der gesucht werden soll.place: die Orts-ID des Orts, nach dem gesucht werden soll.locationQuery: Die 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 Antwortfeldmaske erstellen. Übergeben Sie die Maske für das Antwortfeld an die Methode, indem Sie den URL-Parameter
$fieldsoderfieldsoder den HTTP-HeaderX-Goog-FieldMaskverwenden. Die folgende Anfrage gibt beispielsweise nur die Eingänge, Navigationspunkte und 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/v4alpha/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 finden Sie unter Zurückzugebende Felder auswählen.
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 Mobilitätsformen 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. Diese Liste ist daher möglicherweise nicht vollständig.
-
Wenn
languageCodenicht angegeben ist, wird standardmäßigenverwendet. Wenn Sie einen ungültigen Sprachcode angeben, gibt die API den FehlerINVALID_ARGUMENTzurück. - Die API versucht, eine Straßenadresse bereitzustellen, die sowohl für den Nutzer als auch für Einheimische lesbar ist. Dazu werden Straßenadressen in der lokalen Sprache zurückgegeben, die bei Bedarf in ein für den Nutzer lesbares Schriftsystem transliteriert werden. Dabei wird die bevorzugte Sprache berücksichtigt. Alle anderen Adressen werden in der bevorzugten Sprache zurückgegeben. Alle Adresskomponenten werden in derselben Sprache zurückgegeben, die anhand der ersten Komponente ausgewählt wird.
- Wenn ein Name in der bevorzugten Sprache nicht verfügbar ist, wird die nächstgelegene Übereinstimmung verwendet.
- Die bevorzugte Sprache hat einen geringen Einfluss auf die Ergebnisse, die von der API zurückgegeben werden, 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.
Beim Geocoding einer Adresse (Forward Geocoding) kann dieser Parameter die Ergebnisse des Dienstes für die angegebene Region beeinflussen, aber nicht vollständig einschränken. Wenn Sie einen Ort oder einen Standort geocodieren (umgekehrte Geocodierung oder Orts-Geocodierung), kann dieser Parameter verwendet werden, um die Adresse zu formatieren. In allen Fällen kann sich dieser Parameter aufgrund des anwendbaren Rechts auf die Ergebnisse auswirken.
-
placeFilter
Damit können Sie die Ergebnisse einer
locationQuery-Suche filtern, um Ihre Anforderungen zu erfüllen. So können Sie beispielsweise nur Ziele zurückgeben, die Gebäude sind, oder nur Ziele mit eindeutigen Adressen.Nach struktureller Granularität filtern
Mit dem
structureType-Filter können Sie die Art der Strukturen angeben, die von der Abfrage zurückgegeben werden:- Gebäude isolieren: Mit
"structureType": "BUILDING"können Sie Gebäudeumrisse auf einer Karte anzeigen oder Details zu einem bestimmten Gebäude abrufen. - Komplexe Sachverhalte verstehen: Verwenden Sie
"structureType": "GROUNDS", um sicherzustellen, dass das primäre Ergebnis die Gesamtheit der Gründe ist. Das ist nützlich, wenn Sie nach größeren Gebieten wie Universitätsgeländen oder Einkaufszentren suchen. - Fokus auf Einheiten/Abschnitte: Verwenden Sie
"structureType": "SECTION", um Abschnitte innerhalb eines Gebäudes zu identifizieren.
Nützliche Adressen angeben
Nicht alle Orte haben eindeutige Adressen auf Straßenebene. Mit dem Filter
addressabilitykönnen Sie die Qualität der Adressen in Ihren Ergebnissen steuern:- Require a Clear Primary Address (Eindeutige primäre Adresse erforderlich): Wenn Sie dafür sorgen möchten, dass das primäre Zielergebnis immer eine Adresse oder einen Namen auf Straßenebene hat, verwenden Sie
"addressability": "PRIMARY". Das ist nützlich für Navigations- oder Anzeigezwecke, bei denen eine eindeutige Adresse entscheidend ist. - Adressen in untergeordneten Zielen zulassen: Wenn der primäre Ort möglicherweise keine Adresse hat, aber Einheiten darin (z. B. Wohnungen in einem Gebäude), sorgt
"addressability": "WEAK"dafür, dass mindestens der primäre Ort oder eines seiner untergeordneten Ziele eine Adresse hat. - Beliebiges Ergebnis: Wenn die Adresse 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/v4alpha/geocode/destinations - Gebäude isolieren: Mit
Feedback
Dies ist ein experimenteller Endpunkt der Geocoding API. Wir freuen uns über Feedback unter geocoding-feedback-channel@google.com.