Especifica cómo y si quieres incluir datos de tráfico

Las preferencias de tráfico que seleccionas equilibran la precisión de los detalles de la ruta con el rendimiento de las solicitudes. Cuando realizas una solicitud, te recomendamos que analices si es mejor mostrar los resultados más precisos posibles o hacerlo 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.

Establece el nivel de los datos de tráfico

La API de Routes proporciona RoutingPreference (REST) y RoutingPreference (gRPC) que te permite especificar preferencias de enrutamiento para calcular las rutas. Estas preferencias difieren en la medida en que tienen en cuenta las condiciones del tráfico en el cálculo de la ruta. Cada preferencia de enrutamiento produce resultados que difieren de un grado con respecto a la calidad de la ruta, la hora de llegada estimada estimada y la latencia de respuesta.

Las condiciones de tráfico caracterizan la tasa de flujo de tráfico. Por ejemplo:

  • Cuando no hay congestión, las condiciones de tráfico se consideran normales y el tráfico fluye a la velocidad normal sin obstáculos.
  • Cuando se acerca la hora pico de energía, aumenta la densidad del tráfico, lo que hace que el tráfico se ralentice, lo que genera condiciones de tráfico leves a moderadas.
  • En el tráfico de embotellamiento, la tasa de flujo se detiene por completo, lo que genera condiciones de mucho tráfico.

No se reconoce el tráfico

Cuando estableces la preferencia de enrutamiento TRAFFIC_UNAWARE, las rutas se calculan sin tener en cuenta las condiciones actuales del tráfico. Esta preferencia de enrutamiento proporciona la latencia de respuesta más baja (las respuestas se muestran más rápido).

TRAFFIC_UNAWARE es la configuración predeterminada.

En la respuesta, figura lo siguiente:

  • El ETA se incluye en la propiedad de respuesta duration.

  • Las propiedades de respuesta duration y staticDuration contienen el mismo valor.

Usa esta preferencia de enrutamiento cuando desees que las respuestas muestren lo más rápido y los detalles de enrutamiento aproximados sean lo suficientemente buenos.

Compatible con el tráfico

Cuando estableces la preferencia de enrutamiento TRAFFIC_AWARE, las rutas se calculan en función de las condiciones actuales del tráfico. 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 la respuesta, se aplican optimizaciones de rendimiento para reducir gran parte de la latencia.

En la respuesta, figura lo siguiente:

  • La ETA que tiene en cuenta el tráfico en tiempo real se incluye en la propiedad de respuesta duration.

  • La propiedad de respuesta staticDuration contiene la duración de un viaje por la ruta sin tener en cuenta las condiciones del tráfico.

Usa esta preferencia de enrutamiento cuando desees obtener detalles de enrutamiento más precisos que TRAFFIC_UNAWARE, pero no te importa si las respuestas se muestran con un aumento moderado en la latencia.

Compatible con información sobre el tráfico

Cuando estableces la preferencia de enrutamiento TRAFFIC_AWARE_OPTIMAL, las rutas se calculan en función de las condiciones actuales del tráfico, pero no se aplican 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 enrutamiento TRAFFIC_AWARE_OPTIMAL es equivalente al modo que usan maps.google.com y la app para dispositivos móviles de Google Maps.

Cuando se usa esta opción con Compute Route Matrix, la cantidad de elementos en una solicitud (cantidad de orígenes × cantidad de destinos) no puede ser superior a 100. Para obtener más información sobre los límites de Compute Route Matrix, consulta Calcula una matriz de ruta.

En la respuesta, figura lo siguiente:

  • La ETA que tiene en cuenta el tráfico en tiempo real se incluye en la propiedad de respuesta duration.

  • La propiedad de respuesta staticDuration contiene la duración de un viaje por la ruta sin tener en cuenta las condiciones del tráfico.

Esta preferencia de enrutamiento proporciona la latencia de respuesta más alta (es decir, las respuestas se muestran con el retraso más largo). Usa esta preferencia de enrutamiento cuando desees resultados de la más alta calidad, sin importar el tiempo que tarden las respuestas.

Efecto de configurar la hora de salida

De manera opcional, puedes usar la propiedad departureTime para establecer la hora de salida de un viaje. Si no configuras la propiedad departureTime, el valor predeterminado será el momento en que realices la solicitud.

  • Para TRAFFIC_UNAWARE, no puedes configurar departureTime 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.

  • Para TRAFFIC_AWARE y TRAFFIC_AWARE_OPTIMAL, que tienen en cuenta las condiciones de tráfico en tiempo real, el tráfico en vivo se vuelve más importante cuanto más cerca se encuentra departureTime al momento actual. Cuanto más adelante configures la hora de salida en el futuro, más se considerarán las condiciones de tráfico históricas.

Ejemplo de configuración de la preferencia de enrutamiento

Con el siguiente código JSON, se muestra cómo establecer la preferencia de enrutamiento 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"
}

Cómo configurar el tráfico en las polilíneas

La API de Routes te permite solicitar información sobre las condiciones de tráfico en una polilínea optimizada para el tráfico. Consulta Cómo solicitar polilíneas para obtener más información.