Compute Routes puede devolver rutas de conducción optimizadas para una distancia de viaje más corta cuando habilitas las rutas de distancia más corta.
Cuando solicitas una ruta de distancia más corta, el servicio devuelve lo siguiente:
- La ruta predeterminada, que es una ruta optimizada principalmente para la ETA.
- Una ruta más corta optimizada para minimizar la distancia de viaje en todo el recorrido.
Qué es y por qué usarlo
Una ruta de distancia más corta prioriza la distancia por sobre la comodidad o la velocidad de conducción. Por ejemplo, es posible que prefiera las rutas locales en lugar de las autopistas, que tome caminos de tierra o que atraviese estacionamientos. No devuelve ninguna maniobra que Google Maps sepa que es ilegal.
Cómo solicitar una ruta más corta
Tu solicitud debe cumplir con los siguientes criterios:
- Establece
travelMode
comoDRIVE
,BICYCLE
oTWO_WHEELER
. - Establece
requestedReferenceRoutes
enSHORTER_DISTANCE
. - Establece una máscara de campo de respuesta para devolver las propiedades de respuesta asociadas con una ruta de distancia más corta:
routes.routeLabels
: Identifica cada ruta comoDEFAULT_ROUTE
,SHORTER_DISTANCE
oDEFAULT_ROUTE_ALTERNATE
.routes.routeToken
: Es un token de ruta que puedes pasar al SDK de Navigation para recuperar una ruta personalizada.
- No incluyas ningún punto de referencia intermedio
Via
. - No incluyas el parámetro
optimizeWaypointOrder
. - Opcional: Establece una máscara de campo de respuesta para devolver las siguientes propiedades asociadas con la ruta predeterminada y la de distancia más corta:
routes.distanceMeters
: Muestra la distancia de la ruta.routes.duration
: Muestra la duración de la ruta.
Para obtener información de referencia, consulta ReferenceRoute y RouteLabel.
Solicitud de ejemplo: Ruta de distancia más corta
En el siguiente código, se muestra una solicitud para una ruta con una distancia más corta. En este ejemplo, usas la máscara de campo de respuesta para devolver los campos asociados con la ruta predeterminada y la ruta de distancia más corta con las siguientes máscaras de campo:
routes.distanceMeters
routes.duration
curl -X POST -H 'content-type: application/json' -d '{ "origin": { "location": { "latLng": { "latitude": 41.76904801292959, "longitude": -72.67374935684933 } } }, "destination": { "location": { "latLng": { "latitude": 41.823042361105024, "longitude": -71.40933143059424 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE", "requestedReferenceRoutes": ["SHORTER_DISTANCE"], }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY \ -H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
Ejemplo de respuesta de ruta más corta
{
"routes": [
{
"distanceMeters": 138943,
"duration": "5373s",
"routeToken": "CrsCCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXcklWWFo2cjhDZmltdk9NUDQ3aU1nUU0QBRpPCk0KGAoNCgIIAREAAAAAAIBmQBF56SYxqDm4QBISCAAQAxAGEBMQEhgCQgQaAggFIhsKF3JJVlhaLWFOQnZpbXZPTVA0N2lNZ1FNcAEoASIVAACBmRY1BjeCiUQewJGTrQ3DuHRp",
"routeLabels": [
"DEFAULT_ROUTE"
]
},
{
"distanceMeters": 112610,
"duration": "7165s",
"routeToken": "CqgCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdySVZYWjZHR0RiTzV2T01QOUpiQXlBTRAFGk8KTQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhIIABADEAYQExASGAJCBBoCCAUiGwoXcklWWFo3S09Cck81dk9NUDlKYkF5QU1wASgCIhUAAIGZFlj_CmMgGE6KGZcsE-tEywM",
"routeLabels": [
"SHORTER_DISTANCE"
]
}
]
}
Ejemplo de solicitud: Ruta más corta y con mayor ahorro de combustible
En el siguiente código, se muestra una solicitud para una ruta más corta y una ruta que ahorra combustible.
`
curl -X POST -d '{ "origin": { "location": { "latLng": { "latitude": 41.76904801292959, "longitude": -72.67374935684933 } } }, "destination": { "location": { "latLng": { "latitude": 41.823042361105024, "longitude": -71.40933143059424 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL", "requestedReferenceRoutes": ["SHORTER_DISTANCE", "FUEL_EFFICIENT"] }'
-H 'Content-Type: application/json'
-H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken'
'https://routes.googleapis.com/directions/v2:computeRoutes'
Ejemplo de respuesta: Ruta más corta y ruta con mayor ahorro de combustible
En este caso, la distancia más corta y la ruta que ahorra más combustible son las mismas, por lo que se muestra esa ruta y se incluye el routeLabel
para ambos tipos de ruta.
{ "routes": [ { "distanceMeters": 138943, "duration": "5375s", "routeToken": "Cr8CCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXS1laWFo4T19JcWVCM2ZFUDFMbms4UXcQBRpTClEKGAoNCgIIAREAAAAAAIBmQBFOYhBYGTy4QBIWCAAQAxAGEBMQEhgCQgQaAggFSgIIASIbChdLWVpYWjlpV0g2ZUIzZkVQMUxuazhRd3ABKAEiFQAAgZkW4Df4cspNNJZWlMZuUUxLPQ", "routeLabels": [ "DEFAULT_ROUTE" ] }, { "distanceMeters": 112610, "duration": "7156s", "routeToken": "CqwCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdLWVpYWi1UNklfT055OVlQczhhcWlRSRAFGlMKUQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhYIABADEAYQExASGAJCBBoCCAVKAggBIhsKF0tZWlhaNERXSF9PTnk5WVBzOGFxaVFJcAEoAiIVAACBmRaESp2EJS5nmwiEF8KH15_f", "routeLabels": [ "FUEL_EFFICIENT", "SHORTER_DISTANCE" ] } ] }
Regiones admitidas
Las rutas de distancias más cortas son compatibles con todas las regiones.
Facturación
Google Maps Platform no cobra cargos adicionales por el uso de una función experimental. Se te cobrará según el uso que hagas de la API y otros parámetros que establezcas.
Obtén más información sobre la facturación de la API de Routes.