¿Por qué migrar a la API de Routes?

La API de Routes proporciona un rendimiento mejorado para calcular las instrucciones sobre cómo llegar, la distancia y la duración del viaje, por lo que vale la pena reemplazar las apps que actualmente usan las APIs de Directions y de Distance Matrix. La mayor parte de la funcionalidad de la API de Routes es retrocompatible con la API de Directions y con la de Distance Matrix.

Usa esta guía para comprender las diferencias clave en la API de Routes en comparación con los productos que reemplaza, además de cómo controlar los cambios necesarios. Para obtener más detalles sobre otras funciones de la API de Routes, consulta la descripción general del producto.

Mejoras clave

En esta sección, se abordan algunas de las mejoras que puedes esperar cuando usas la API de Routes en tus apps.

Mayores límites de solicitudes

API de Routes
  • 625 elementos como máximo, a menos que especifiques TRAFFIC_AWARE_OPTIMAL
  • Se permite un máximo de 100 elementos con TRAFFIC_AWARE_OPTIMAL. Consulta Preferencias de enrutamiento mejoradas.
  • Se permite un máximo de 50 puntos de referencia (orígenes + destinos) con un ID de lugar.
API de Distance Matrix
  • Un máximo de 25 orígenes o 25 destinos por solicitud.
  • 100 elementos como máximo (cantidad de orígenes × cantidad de destinos) por solicitud del servidor.

Respuestas a solicitudes más rápidas

La función de matriz de ruta de procesamiento ofrece las siguientes mejoras de latencia:

  • Recibe los elementos de transmisión de la respuesta antes de que se calcule la matriz completa.
  • Usa máscaras de campo para personalizar los detalles de la respuesta y solicita solo los datos que necesitas (una práctica recomendada que también ayuda a reducir el costo).
  • Cálculos de rutas mejorados para el tráfico, de modo que puedas compensar la calidad de los datos y el tiempo de respuesta.

Mejoras en el enrutamiento

La función de ruta de procesamiento ofrece estas mejoras de enrutamiento:

  • Información sobre los peajes, además de la distancia y la hora de llegada estimada.
  • Rutas para vehículos de 2 ruedas:
  • Califica tus puntos de referencia de parada por seguridad.
  • Mayor precisión de la hora de llegada estimada estableciendo la dirección de viaje y el lado de la ruta para los puntos de referencia.

Solicita solo los datos que necesitas

Ahora debes especificar qué campos mostrar, lo que reduce el tiempo de procesamiento y los cargos de facturación.

API de Routes Tus solicitudes deben usar una máscara de campo para especificar qué campos deseas que se muestren en la respuesta. El enmascaramiento de campo garantiza que no solicites datos innecesarios, lo que evita tiempos de procesamiento y cargos de facturación innecesarios.
Para obtener más información, consulta Elige los campos que se mostrarán.
API de Directions
API de Distance Matrix
Muestra una lista predeterminada de campos, incluso si tu app no los necesita estrictamente. Esto puede generar tiempos de procesamiento y cargos de facturación innecesarios.

Cálculos de ruta mejorados para el tráfico

La API de Routes admite tres preferencias de enrutamiento que puedes usar para equilibrar la latencia de respuesta y la calidad de los datos cuando solicitas información sobre el tráfico.

Para obtener más información, consulta Cómo configurar la calidad en comparación con la latencia.

TRAFFIC_UNAWARE
(predeterminada)
Usa datos de tráfico independientes del tiempo promedio, no datos de tráfico en vivo, para calcular la ruta, lo que da como resultado la menor latencia de respuesta. Esta configuración es equivalente a cuando no se usa el tráfico en la API de Directions ni en la de Distance Matrix.
TRAFFIC_AWARE
(nuevo)
Optimización del rendimiento de calidad de tráfico en vivo para reducir la latencia. A diferencia de TRAFFIC_AWARE_OPTIMAL, esta configuración aplica optimizaciones para reducir significativamente la latencia. Este parámetro de configuración también es nuevo para la API de Routes sin equivalente en la API de Directions ni en la de Distance Matrix.
TRAFFIC_AWARE_OPTIMAL Datos de tráfico integrales y de alta calidad. Esta configuración produce la latencia más alta y es equivalente a la configuración de departure_time en la API de Directions y de Distance Matrix.
Esta preferencia es equivalente al modo que usan maps.google.com y la app para dispositivos móviles de Google Maps.

Comparación del cálculo de la ruta

En la siguiente tabla, se comparan las opciones de enrutamiento entre la API de Routes y los servicios de la API de Directions y la API de Distance Matrix.

Opción de tráfico API de Routes API de Directions
API de Distance Matrix
Latencia
Sin tráfico en tiempo real TRAFFIC_UNAWARE No se estableció la propiedad departure_time La latencia más rápida de los tres modos.
Se aplicaron condiciones de tráfico en vivo TRAFFIC_AWARE Sin equivalente

La API de Routes agrega un modo nuevo. Proporciona una latencia un poco mayor que TRAFFIC_UNAWARE, con un pequeño costo de calidad de ETA.

Tiene una latencia mucho más baja que TRAFFIC_AWARE_OPTIMAL.

Se aplican datos de tráfico en vivo integrales y de alta calidad TRAFFIC_AWARE_OPTIMAL Conjunto de propiedades departure_time

Equivalente al modo que usan maps.google.com y la app para dispositivos móviles de Google Maps.

En el caso de Compute Route Matrix, la cantidad de elementos en una solicitud (cantidad de orígenes × cantidad de destinos) no puede ser superior a 100.

Diferencias clave

En esta sección, se describen las diferencias clave entre la API de Routes y los servicios que reemplaza, además de las formas de abordar estas diferencias cuando migres desde estos servicios en tus apps existentes.

Cómo llamar a un servicio en lugar de dos

API de Routes Habilita solo un servicio en la Consola de API para que tu app use Compute Routes y Compute Route Matrix.
Si deseas obtener más información, consulta Configuración en la Consola de APIs de Google.
API de Directions
API de Distance Matrix
Habilita dos servicios: la API de Directions y la API de Distance Matrix como servicios independientes en la Consola de APIs.

Usa solicitudes HTTPS POST

API de Routes Pasa parámetros en el cuerpo de la solicitud o en los encabezados como parte de una solicitud HTTP POST.
Para ver ejemplos, consulta lo siguiente:
- Calcula una ruta
- Calcula una matriz de ruta
API de Directions
API de Distance Matrix
Pasa parámetros de URL mediante una solicitud HTTP GET.

Diferencias en las respuestas de ETA

La API de Routes muestra la hora de llegada estimada y usa la propiedad de respuesta duration de manera diferente a los servicios de la API de Directions y de Distance Matrix, como se muestra en la siguiente tabla.

Tipo de hora de llegada estimada API de Routes API de Directions
API de Distance Matrix
La hora de llegada estimada es independiente del tiempo y no se reconoce el tráfico.

Se establece con TRAFFIC_UNAWARE.

  • ETA que se incluye en la propiedad de respuesta duration.
  • Las propiedades de respuesta duration y staticDuration contienen el mismo valor.

Corresponde a que departure_time no se configura en la solicitud.

  • ETA que se incluye en la propiedad de respuesta duration.
  • No se muestra la propiedad de respuesta duration_in_traffic.
La hora de llegada estimada que considera el tráfico en tiempo real

Se establece con TRAFFIC_AWARE o TRAFFIC_AWARE_OPTIMAL.

  • 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 de tráfico.
  • Ya no se muestra la propiedad duration_in_traffic.

Se establece con departure_time en la solicitud.

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

Puntos de referencia de polilínea

Ya no necesitas convertir tus coordenadas de latitud y longitud en puntos de referencia de polilíneas con este servicio, que admite un cuerpo de solicitud POST y, por lo tanto, ya no se ve afectado por los límites de la cadena de URL. Algunos usuarios de la API de Distance Matrix abordaron el problema de los límites de solicitudes convirtiendo los puntos de latitud y longitud en puntos de referencia de polilínea.

Direcciones con formato (geocódigo inverso)

La API de Routes no proporciona direcciones con formato en la respuesta. Para obtener direcciones con formato, usa la API de Geocoding, creada para este caso de uso y proporcionar resultados de mayor calidad.

Medios de transporte disponibles

Al igual que con la API de Directions, la API de Routes usa Drive como modo predeterminado cuando una solicitud de ruta no especifica un medio de transporte. Sin embargo, cuando una solicitud especifica un medio de transporte para una ruta, la API de Routes no muestra un array de medios de transporte disponibles como opciones alternativas para la solicitud. Si tu caso de uso se basa en esta función, informa un problema que describa cómo utilizas la función para que podamos hacer un seguimiento.

XML como formato de respuesta

La API de Routes no proporciona XML como formato de respuesta. Puedes encontrar una serie de conversores JSON a XML en línea que mejor se adapten a tus objetivos.