Les points de cheminement intermédiaires sont des emplacements situés entre le point de départ et la destination. que vous souhaitez faire passer. Un point de cheminement intermédiaire peut être un arrêt ou vous pouvez le spécifier comme un lieu à traverser. Voici un exemple de point de cheminement un arrêt, consultez la section Définir un arrêt sur un itinéraire. Par exemple, point de cheminement à passer, Définir le point de passage d'un itinéraire.
Utilisez la propriété de tableau intermediates
de
la méthode computeRoutes (REST) ou
ComputeRoutes
(gRPC), pour définir un maximum de 25 points de cheminement intermédiaires.
Pour chaque point de cheminement intermédiaire de la requête, le
Objet Route (REST) ou
Objet de routage (gRPC) dans
la réponse ajoute une entrée au tableau legs
pour fournir les détails
cette étape du parcours.
Chaque section d'un itinéraire est représentée
RouteLeg (REST) ou
un objet RouteLeg (gRPC).
Contrôlez les champs RouteLeg
à renvoyer à l'aide de la propriété
masque de champ de réponse.
Exemple : Définir un point de cheminement intermédiaire
L'exemple suivant utilise la propriété de tableau intermediates
pour ajouter un seul
point de cheminement intermédiaire vers le corps de la requête POST d'une route.
Cet exemple utilise un masque de champ de réponse dans l'en-tête X-Goog-FieldMask
.
spécifiant qu'il faut renvoyer les champs suivants dans la réponse:
routes.duration
routes.distanceMeters
routes.legs
correspondant à l'intégralité de l'objetRouteLeg
.
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 réponse à cet appel contient le tableau legs
. Chaque pas de la jambe est
représentées par
RouteLegStep (REST) ou
un objet 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": [ { ...