Los puntos de referencia intermedios son ubicaciones entre el origen y el destino por los que deseas que pase la ruta. Un punto de referencia intermedio puede ser una parada o puedes especificarlo como una ubicación para pasar. Un ejemplo de un punto de referencia Para ver una parada, consulta Cómo establecer una parada en una ruta. Por ejemplo, de referencia hasta el de paso, Establece un punto de paso para una ruta.
Usa la propiedad de array intermediates
de la
computeRoutes (REST) o
ComputeRoutes
(gRPC), para definir hasta 25 puntos de referencia intermedios.
Para cada punto de referencia intermedio en la solicitud, el
Objeto de ruta (REST) o
El objeto Enruta (gRPC) en la
agrega una entrada al array legs
para proporcionar los detalles del
esa etapa del viaje.
Cada tramo de una ruta está representado por un
RouteLeg (REST) o
Objeto RouteLeg (gRPC).
Controla qué campos de RouteLeg
se muestran con el comando
máscara de campo de respuesta.
Ejemplo: establece un punto de referencia intermedio
En el siguiente ejemplo, se usa la propiedad de array intermediates
para agregar un solo
punto de referencia intermedio al cuerpo de la solicitud POST de una ruta.
En este ejemplo, se usa una máscara de campo de respuesta en el encabezado X-Goog-FieldMask
que especifique que se deben mostrar los siguientes campos en la respuesta:
routes.duration
routes.distanceMeters
routes.legs
, que corresponde a todo el objetoRouteLeg
.
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 respuesta de esta llamada contiene el array legs
. Cada paso de la pierna
representado por un
RouteLegStep (REST) o
Objeto 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": [ { ...