Las preferencias de tráfico que selecciones equilibran la precisión de los detalles de la ruta con el rendimiento de la solicitud de una de las siguientes maneras:
Tráfico en tiempo real: Muestra los resultados más precisos posibles (latencia más alta).
Sin información de tráfico: Muestra los resultados lo más rápido posible (latencia más baja).
Cuando realices una solicitud, considera si es mejor mostrar los resultados más precisos posibles o mostrarlos lo más rápido posible. La API de Routes proporciona opciones que te permiten controlar la calidad de los datos de la respuesta en comparación con la latencia de la respuesta.
Cómo establecer el nivel de tráfico
La API de Routes proporciona RoutingPreference (REST) y RoutingPreference (gRPC) que te permiten especificar preferencias de enrutamiento para calcular rutas.
La opción predeterminada es resultados sin tráfico. Selecciona las opciones de tráfico con las preferencias de enrutamiento TRAFFIC_UNAWARE
, TRAFFIC_AWARE
y TRAFFIC_AWARE_OPTIMAL
. Cada preferencia de planificación de ruta genera resultados que difieren en la calidad de la ruta, la hora de llegada estimada y la latencia de respuesta.
Condiciones del tráfico
Las condiciones de tráfico caracterizan la velocidad del flujo de tráfico:
Tráfico normal: No hay embotellamientos, y el tráfico fluye a una velocidad normal.
Tráfico ligero a moderado: Aumento de la congestión, con un flujo de tráfico a una velocidad reducida.
Mucho tráfico: Congestión grave, con una velocidad de tráfico muy reducida.
Sin tráfico
TRAFFIC_UNAWARE
es la configuración predeterminada. Usa esta preferencia de enrutamiento cuando quieras que las respuestas se muestren lo más rápido posible y los detalles de enrutamiento aproximados sean lo suficientemente buenos.
Las rutas de TRAFFIC_UNAWARE
se calculan sin tener en cuenta las condiciones de tráfico actuales. Esta preferencia de enrutamiento genera la respuesta de solicitud más rápida (latencia más baja).
Si eliges TRAFFIC_UNAWARE
, la ruta y la duración elegidas se basan en la red de rutas y las condiciones de tráfico promedio, independientemente del tiempo. Como resultado, las rutas pueden incluir caminos que se encuentren cerrados temporalmente. Los resultados de una solicitud determinada pueden variar con el tiempo debido a cambios en la red de rutas, actualizaciones de las condiciones promedio de tráfico y la naturaleza distribuida del servicio. Los resultados también pueden variar entre rutas muy similares en cualquier momento o con cualquier frecuencia.
Estas son las respuestas que verás:
duration
: Contiene la hora de llegada estimada de la ruta.staticDuration
: Es la hora de llegada estimada de la ruta que solo considera la información histórica del tráfico. ParaTRAFFIC_UNAWARE
, contiene el mismo valor queduration
.
Con conocimiento del tráfico
Usa esta preferencia de enrutamiento cuando quieras obtener detalles de enrutamiento más precisos que los de TRAFFIC_UNAWARE
y, sin embargo, no te importe si las respuestas se muestran con un aumento moderado de la latencia.
Cuando estableces la preferencia de enrutamiento TRAFFIC_AWARE
, el servicio calcula la ruta teniendo en cuenta las condiciones de tráfico actuales. Como resultado, la ruta y sus detalles reflejan con mayor precisión las condiciones reales. Debido a que este aumento en la calidad de los datos se produce a expensas de la latencia de respuesta, se aplican optimizaciones de rendimiento para reducir gran parte de la latencia.
Estas son las respuestas que verás:
duration
: Es la hora de llegada estimada según la información del tráfico en tiempo real.staticDuration
Es la hora de llegada estimada de la ruta teniendo en cuenta solo la información histórica del tráfico.
Optimizada en función del tráfico
Usa esta preferencia de enrutamiento cuando desees obtener resultados de la más alta calidad sin importar cuánto tiempo tarden las respuestas. Esta preferencia de enrutamiento tiene la demora más larga en mostrar respuestas (la latencia más alta).
Cuando estableces la preferencia de enrutamiento TRAFFIC_AWARE_OPTIMAL
, el servicio calcula la ruta teniendo en cuenta las condiciones de tráfico actuales, pero no aplica optimizaciones de rendimiento. En este modo, el servidor realiza una búsqueda más exhaustiva de la red de rutas para encontrar la ruta óptima.
La preferencia de planificación de ruta TRAFFIC_AWARE_OPTIMAL
es equivalente al modo que usan maps.google.com y la app de Google Maps para dispositivos móviles.
Cuando usas esta opción con Compute Route Matrix, la cantidad de elementos en una solicitud (cantidad de orígenes × cantidad de destinos) no puede superar
- Para obtener más información sobre los límites de Compute Route Matrix, consulta Cómo calcular una matriz de rutas.
Estas son las respuestas que verás:
duration
: Es la hora de llegada estimada de la ruta, teniendo en cuenta la información del tráfico en tiempo real.staticDuration
: Es la hora de llegada estimada de la ruta que solo considera la información histórica del tráfico.
Establecer la hora de salida (opcional)
Usa esta propiedad solo para solicitudes que tengan en cuenta el tráfico en las que la hora de salida debe ser futura. Si no configuras la propiedad departureTime
, el valor predeterminado será el momento en que realices la solicitud.
Usa la propiedad departureTime
junto con las opciones TRAFFIC_AWARE
y TRAFFIC_AWARE_OPTIMAL
cuando quieras ajustar la forma en que el servicio predice el tráfico cuando eliges una ruta.
TRAFFIC_UNAWARE
: No se recomienda porque la elección de la ruta y la duración se basan en la red de rutas y las condiciones de tráfico promedio independientemente del horario.TRAFFIC_AWARE
yTRAFFIC_AWARE_OPTIMAL
: Se recomiendan para salidas que se realicen en un futuro cercano, ya que estas preferencias tienen en cuenta las condiciones de tráfico en tiempo real. Cuanto más se acerque el valor dedepartureTime
al momento presente, más importancia cobrará el tráfico en tiempo real. Cuanto más adelante establezcas la hora de salida, más consideración se dará a las condiciones históricas de tráfico a la hora de seleccionar las rutas.
Ejemplo: Cómo seleccionar la planificación de ruta en función del tráfico
En el siguiente código JSON, se muestra cómo configurar la preferencia de enrutamiento TRAFFIC_AWARE_OPTIMAL
en el cuerpo de una entidad de mensaje de solicitud.
{ "origin":{ "location":{ "latLng":{ "latitude":37.419734, "longitude":-122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude":37.417670, "longitude":-122.079595 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL" }
Configura el tráfico en polilíneas
La API de Routes te permite solicitar información sobre las condiciones de tráfico a lo largo de una polilínea que tenga en cuenta el tráfico. Consulta Cómo solicitar polilíneas para obtener más información.