Standardmäßig werden Zwischenstopps für Abhol- und Bringstellen verwendet. Sie können aber auch angeben, dass ein Zwischenstopp nur zum Durchfahren gedacht ist.
Eine Route mit einem Start-, einem Zwischen- und einem Zielwegpunkt enthält nur einen Routenabschnitt, der den Start- und den Zielort verbindet und dabei den Zwischenwegpunkt (via
) passiert.
Konfigurieren Sie einen Zwischenwegpunkt als Durchgangspunkt, indem Sie
Wenn Sie das Attribut via
des Wegpunkts auf true
setzen, verwenden Sie entweder
Wegpunkt (REST) oder
Wegpunkt (gRPC).
Das Attribut via
ist am effektivsten, wenn Routen als Reaktion auf
indem der Nutzer die Wegpunkte auf der Karte zieht. Dadurch sehen die Nutzenden,
kann die endgültige Route in Echtzeit angezeigt werden. So wird sichergestellt, dass Wegpunkte
an Standorten, die für Compute Routes zugänglich sind.
Das folgende Beispiel zeigt, wie ein Zwischenpunkt als Durchfahrpunkt markiert wird.
{ "location": { "latLng": { "latitude":37.419734, "longitude":-122.0827784 } }, "via": true }
Auf Orts-IDs für Wegpunkte zugreifen
Wenn Sie den Standort eines Ausgangsorts, Zielorts oder Wegpunkts angeben
als Adressstring oder Plus Code enthalten, versucht die API, den
relevantesten Standort mit einer entsprechenden Orts-ID. Die
geocodingResults.intermediates
-Array in den Ergebnissen die Orts-ID enthält, die dem Standort des
sowie zusätzliche Daten zum Ort hinzufügen.
Verwenden Sie für jedes Element des Arrays intermediates
die Methode
intermediateWaypointRequestIndex
, um festzulegen,
in der Anfrage entspricht der Orts-ID in der Antwort.
Beispiel:
In einer Anforderung geben Sie drei Zwischenwegpunkte an. Zwei davon Wegpunkte werden durch Adress-Strings und einmal durch Breiten- und Längengrad angegeben. Koordinaten.
Sie fügen
geocodingResults
in die Antwortfeldmaske ein, um anzugeben, dass dasgeocodingResults
-Array in den Ergebnissen zurückgegeben werden soll.
curl -X POST -d '{ "origin":{ "address": "1600 Amphitheatre Parkway, Mountain View, CA" }, "destination":{ "address": "24 Willie Mays Plaza, San Francisco, CA 94107" }, "intermediates": [ { "address": "450 Serra Mall, Stanford, CA 94305, USA" }, { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } }, { "address": "1836 El Camino Real, Redwood City, CA 94063" } ], "travelMode": "DRIVE", }' -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,geocodingResults' 'https://routes.googleapis.com/directions/v2:computeRoutes'
Die Antwort enthält das Array geocodingResults
mit der Orts-ID für
Start- und Zielort und für zwei der drei Wegpunkte. Dies sind die
bei den Indexen 0 und 2 der Anfrage an. Da der Wegpunkt an Index 1 der Anfrage mithilfe von Breiten-/Längengradkoordinaten angegeben wurde, wird er aus dem geocodingResults
-Array in der Antwort entfernt.
{ "routes": [{...}], "geocodingResults": { "origin": { "geocoderStatus": {}, "type": [ "premise" ], "placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g" }, "destination": { "geocoderStatus": {}, "type": [ "premise" ], "placeId": "ChIJI7ES6tl_j4ARVpDZoXbWAiY" }, "intermediates": [ { "geocoderStatus": {}, "intermediateWaypointRequestIndex": 0, "type": [ "street_address" ], "placeId": "ChIJvdLMGyq7j4ARScE5tWX_C0Y" }, { "geocoderStatus": {}, "intermediateWaypointRequestIndex": 2, "type": [ "premise" ], "placeId": "ChIJkTc0GKajj4AR9UMsOSHwGD0" } ] } }