Le tappe intermedie sono luoghi tra il luogo di partenza e la destinazione che vuoi deve percorrere il percorso. Una tappa intermedia può essere una fermata puoi specificarlo come luogo da attraversare. Ad esempio di una tappa per una fermata, consulta Impostare una fermata lungo un percorso. Ad esempio, una tappa da attraversare, Imposta il punto per un percorso da attraversare.
Utilizza la proprietà array intermediates
del
computeRoutes (REST) o il metodo
ComputeRoutes
(gRPC), per definire fino a un massimo di 25 tappe intermedie.
Per ogni tappa intermedia nella richiesta,
Oggetto route (REST) o
Oggetto route (gRPC) nel
di risposta aggiunge una voce all'array legs
per fornire i dettagli per
quella tappa del viaggio.
Ogni tratto di un percorso è rappresentato da un
RouteLeg (REST) o
Oggetto RouteLeg (gRPC).
Controlla quali campi RouteLeg
restituire utilizzando il metodo
maschera del campo di risposta.
Esempio: imposta una tappa intermedia
L'esempio seguente utilizza la proprietà array intermediates
per aggiungere un singolo
waypoint intermedio al corpo della richiesta POST di una route.
Questo esempio utilizza una maschera del campo di risposta nell'intestazione X-Goog-FieldMask
che specifica di restituire i seguenti campi nella risposta:
routes.duration
routes.distanceMeters
routes.legs
corrispondente all'intero oggettoRouteLeg
.
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } }, "sideOfRoad": true }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "intermediates": [ { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } } ], "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE", "departureTime": "2022-10-15T15:01:23.045123456Z", "computeAlternativeRoutes": false, "routeModifiers": { "avoidTolls": false, "avoidHighways": false, "avoidFerries": false }, "languageCode": "en-US", "units": "IMPERIAL" }' -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' 'https://routes.googleapis.com/directions/v2:computeRoutes'
La risposta a questa chiamata contiene l'array legs
. Ogni passo della gamba
rappresentato da un
RouteLegStep (REST) o
Oggetto RouteLegStep (gRPC).
{ "routes": [ { "legs": [ # First leg { "distanceMeters": 207, "duration": "89s", "staticDuration": "89s", "polyline": { "encodedPolyline": "ipkcFjgchVd@@@cF]@@oCK?" }, "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.08077919999998 } }, "steps": [ { "distanceMeters": 21, "staticDuration": "6s", "polyline": { "encodedPolyline": "ipkcFjgchVd@@" }, "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.41954, "longitude": -122.08262750000002 } } }, ... }, # Second leg { "distanceMeters": 598, "duration": "159s", "staticDuration": "159s", "polyline": { "encodedPolyline": "ipkcFz{bhVh@??{@xPBP?J}E{E?" }, "startLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.08077919999998 } }, "endLocation": { "latLng": { "latitude": 37.417616599999995, "longitude": -122.07938820000001 } }, "steps": [ { ...