Las preferencias de tráfico que selecciones equilibran la exactitud de los detalles de la ruta con el rendimiento de la solicitud de una de las siguientes dos maneras:
Compatible con información de tráfico en tiempo real: Se devuelven los resultados más precisos posibles (mayor latencia).
Sin información de tráfico en tiempo real: Muestra los resultados lo más rápido posible (latencia más baja).
Cuando realices una solicitud, evalúa si es mejor mostrar los resultados más precisos posibles o mostrar los resultados lo más rápido posible. La API de Routes proporciona opciones que te permiten controlar la calidad de los datos de 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.
El valor predeterminado son los resultados que no tienen en cuenta el 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 produce resultados que difieren en la calidad de la ruta, la hora estimada de llegada y la latencia de respuesta.
Condiciones del tráfico
Las condiciones de tráfico caracterizan la tasa de flujo de tráfico:
Tráfico normal: No hay embotellamientos y el tráfico fluye a una velocidad normal.
Tráfico de leve a moderado: El embotellamiento aumenta y el tráfico fluye a una velocidad reducida.
Tráfico alto: Congestión intensa, con una velocidad de tráfico muy reducida.
No reconoce el tráfico
TRAFFIC_UNAWARE es el parámetro de configuración predeterminado. Usa esta preferencia de ruta cuando
quieras que se devuelvan las respuestas lo más rápido posible y los detalles aproximados de la ruta sean
suficientes.
Las rutas 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 basarán 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 estimada de llegada de la ruta.staticDuration: Es la hora estimada de llegada para la ruta considerando solo la información histórica del tráfico. ParaTRAFFIC_UNAWARE, contiene el mismo valor queduration.
Consciente del tráfico
Usa esta preferencia de ruta cuando quieras obtener detalles de ruta más precisos que
TRAFFIC_UNAWARE, pero no te importe que las respuestas se devuelvan con un
aumento moderado de la latencia.
Cuando configuras 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 del mundo real. 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 estimada de llegada teniendo en cuenta la información del tráfico en tiempo real.staticDuration: Es la hora estimada de llegada para la ruta considerando solo la información histórica del tráfico.
Planificación optimizada de ruta compatible con información de tráfico en tiempo real
Usa esta preferencia de enrutamiento cuando quieras obtener resultados de la más alta calidad, sin importar cuánto tarden las respuestas. Esta preferencia de enrutamiento tiene la mayor demora en la devolución de respuestas (latencia más alta).
Cuando configuras la preferencia de ruta 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 ruta TRAFFIC_AWARE_OPTIMAL equivale 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, se limita la cantidad de elementos en una solicitud (cantidad de orígenes × cantidad de destinos). 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 estimada de llegada para la ruta, teniendo en cuenta la información del tráfico en tiempo real.staticDuration: Es la hora estimada de llegada para la ruta considerando solo la información histórica del tráfico.
Establece la hora de salida (opcional)
Usa esta propiedad solo para las solicitudes que tienen en cuenta el tráfico en las que la hora de salida debe ser en el futuro. Si no configuras la propiedad departureTime, se establece de forma predeterminada
en la hora en que realizas 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 al elegir 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 tiempo.TRAFFIC_AWAREyTRAFFIC_AWARE_OPTIMAL: Se recomiendan para salidas que se realizarán en un futuro cercano, ya que estas preferencias tienen en cuenta las condiciones del tráfico en tiempo real. Cuanto más se acerque el valor dedepartureTimeal momento presente, más importancia y relevancia cobrará el tráfico en tiempo real. Cuanto más adelante en el futuro establezcas la hora de salida, más se tendrán en cuenta las condiciones de tráfico históricas para seleccionar las rutas.
Ejemplo: Cómo seleccionar la planificación de ruta compatible con información de tráfico en tiempo real
En el siguiente código JSON, se muestra cómo establecer la preferencia de enrutamiento TRAFFIC_AWARE_OPTIMAL en el cuerpo de la entidad de un 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" }