Los puntos de referencia intermedios son ubicaciones especificadas entre el origen y el destino por las que deseas que pase la ruta.
Puedes definir hasta 25 puntos de ruta intermedios en una sola solicitud con la propiedad de array intermediates del método computeRoutes de REST o el método ComputeRoutes de gRPC.
Paradas frente a puntos de referencia de paso
Puedes configurar un punto de referencia intermedio como una parada o una ubicación de paso:
- Parada: De forma predeterminada, el vehículo se detiene en la ubicación. Cada parada divide la ruta agregando una entrada
RouteLegal arraylegsen la respuesta. Para obtener más información, consulta Cómo establecer una parada en una ruta. - Punto de referencia de paso con
"via"establecido entrue: El vehículo pasa por la ubicación sin detenerse. Los puntos de referencia de paso no agregan entradas al arraylegs. Para obtener más información, consulta Cómo establecer un punto de paso para una ruta.
Tramos de la ruta y puntos de referencia intermedios
Para cada parada intermedia en una solicitud, la respuesta contiene un objeto RouteLeg independiente en el array routes.legs.
Por ejemplo, una ruta con un origen, una parada intermedia y un destino contiene dos tramos de ruta: * Tramo 1: Desde el origen hasta la parada intermedia. * Tramo 2: Desde la parada intermedia hasta el destino.
Ejemplo: Solicitud con una parada intermedia
En el siguiente ejemplo, se usa el array intermediates para agregar una sola parada intermedia a una ruta.
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "intermediates": [ { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } } ], "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' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
Respuesta con varios tramos de ruta
Debido a que el punto de referencia intermedio en la solicitud es una parada que no establece "via": true, la respuesta divide la ruta en dos tramos en el array legs:
{ "routes": [ { "distanceMeters": 805, "duration": "248s", "legs": [ { "distanceMeters": 207, "duration": "89s", "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.0807792 } } }, { "distanceMeters": 598, "duration": "159s", "startLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.0807792 } }, "endLocation": { "latLng": { "latitude": 37.4176166, "longitude": -122.0793882 } } } ] } ] }