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

Las preferencias de tráfico que selecciones equilibran la precisión de los detalles de la ruta con el rendimiento de la solicitud. Cuando haces una solicitud, debes considerar 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.

Establece el nivel de datos de tráfico

La API de Routes proporciona RoutingPreference (REST) y RoutingPreference (gRPC) que te permiten especificar preferencias de enrutamiento para calcular rutas. Estas preferencias difieren en la medida en que tienen en cuenta las condiciones de tráfico en el cálculo de la ruta. Cada preferencia de planificación de ruta produce resultados que difieren en cierto grado en cuanto a la calidad de la ruta, la hora de llegada estimada y la latencia de la 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.
  • A medida que se acerca la hora pico, aumenta la densidad del tráfico, lo que hace que disminuya la velocidad, lo que genera condiciones de tráfico leves a moderadas.
  • En el tráfico de embotellamientos, la tasa de flujo se detiene por completo, lo que genera un condiciones de tráfico.

Sin tráfico

Cuando estableces la preferencia de enrutamiento TRAFFIC_UNAWARE, las rutas se calculan sin tener en cuenta las condiciones de tráfico actuales. 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:

  • La hora de llegada estimada se incluye en la propiedad de respuesta duration.

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

Usa esta preferencia de planificación de ruta cuando quieras que las respuestas se muestren lo más rápido posible y los detalles aproximados de la planificación de ruta sean lo suficientemente buenos.

Con conocimiento del tráfico

Cuando configuras la preferencia de enrutamiento TRAFFIC_AWARE, las rutas se calculan teniendo en cuenta las condiciones de tráfico actuales. Como resultado, la ruta y la ruta detalles que reflejen 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.

En la respuesta, figura lo siguiente:

  • La hora de llegada estimada que tiene en cuenta el tráfico en tiempo real se encuentra en la propiedad de respuesta duration.

  • La propiedad de respuesta staticDuration contiene la duración del viaje. a lo largo de la ruta sin tener en cuenta las condiciones de 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 importa si las respuestas se muestran con un aumento moderado de la latencia.

Compatible con información sobre el tráfico

Cuando estableces la preferencia de enrutamiento TRAFFIC_AWARE_OPTIMAL, las rutas se calculada teniendo en cuenta las condiciones actuales del tráfico, pero ningún rendimiento optimizaciones. En este modo, el servidor realiza una búsqueda más exhaustiva de la red de carreteras para encontrar la ruta óptima.

La preferencia de enrutamiento TRAFFIC_AWARE_OPTIMAL es equivalente al modo que usa maps.google.com y 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 superar los 100. Para obtener más información sobre los límites de Compute Route Matrix, consulta Cómo calcular una matriz de rutas.

En la respuesta, figura lo siguiente:

  • La hora de llegada estimada que tiene en cuenta el tráfico en tiempo real se encuentra en la propiedad de respuesta duration.

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

Esta preferencia de enrutamiento proporciona la latencia de respuesta más alta (es decir, las respuestas se muestran con la demora más larga). Usa esta preferencia de enrutamiento cuando desees obtener resultados de la más alta calidad, sin importar cuánto tiempo tarden las respuestas.

Efecto de configurar la hora de salida

De forma opcional, puedes usar la propiedad departureTime para establecer la hora de salida de un viaje. Si no configuras la propiedad departureTime, la configuración predeterminada será el momento en que realices la solicitud.

  • Para TRAFFIC_UNAWARE, no puedes establecer departureTime porque la elección la ruta y la duración se basan en la red de rutas y el tiempo promedio, condiciones de tráfico.

  • Para TRAFFIC_AWARE y TRAFFIC_AWARE_OPTIMAL, que toman tráfico en vivo condiciones actuales, el tráfico en tiempo real se vuelve más importante más cerca está el departureTime al ahora. Cuanto más lejos establezcas la hora de salida en el futuro, más se tendrá en cuenta el tráfico histórico condiciones.

Ejemplo de configuración de la preferencia de enrutamiento

En el siguiente código JSON, se muestra cómo configurar 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"
}

Configura el tráfico en las polilíneas

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