Standardmäßig werden Wegpunkte für Zwischenhalte für Abhol- und ab. Sie können aber auch festlegen, dass ein Wegpunkt nicht passieren muss.
Eine Route, die einen Ausgangswegpunkt bzw. eine Zwischendurchführung enthält
und ein Zielwegpunkt nur einen Routenabschnitt enthält, der
verbindet den Start- und Zielort, während er durch die Zwischenlinie verläuft.
(als via
bezeichnet).
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 Wegpunkt als Pass-Through-Wegpunkt.
{ "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.
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 das ArraygeocodingResults
in den Ergebnissen zurückgeben.
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 bei Index 1
die Anfrage mithilfe von Breitengrad/Längengrad-Koordinaten angegeben wurde,
wird in der Antwort im geocodingResults
-Array weggelassen.
{ "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" } ] } }