¿Por qué migrar a la API de Routes?

La API de Routes proporciona un rendimiento mejorado para calcular instrucciones sobre cómo llegar, la distancia y el tiempo de 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 las APIs de Directions y de Distance Matrix.

Usa esta guía para comprender las diferencias clave entre la API de Routes en comparación con los productos que reemplaza y cómo manejar 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.

Aumento de los 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.
  • Un máximo de 50 puntos de referencia (orígenes y 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 en la latencia:

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

Mejoras de enrutamiento

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

  • Información de 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 para garantizar la seguridad.
  • Mayor precisión de la hora de llegada estimada con la configuración de 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 tiempo de procesamiento y cargos de facturación innecesarios.
Para obtener más información, consulta Cómo elegir 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 cargos de facturación y tiempo de procesamiento 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.

Si deseas obtener más información, consulta Cómo configurar la calidad frente a la latencia.

TRAFFIC_UNAWARE
(predeterminado)
Usa datos de tráfico promedio independientes del tiempo, no datos de tráfico en vivo, para calcular la ruta, lo que da como resultado la latencia de respuesta más baja. Esta configuración es equivalente a cuando no se utiliza tráfico en las APIs de Directions ni de Distance Matrix.
TRAFFIC_AWARE
(nuevo)
Calidad del tráfico en vivo optimizada para el rendimiento para reducir la latencia. A diferencia de TRAFFIC_AWARE_OPTIMAL, esta configuración aplica optimizaciones para reducir la latencia de manera significativa. Este parámetro de configuración también es nuevo para la API de Routes sin equivalente en las APIs de Directions ni 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 equivale a la configuración de departure_time en las APIs 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 de cálculos de ruta

En la siguiente tabla, se comparan las opciones de enrutamiento entre los servicios de la API de Routes y 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 configuró la propiedad departure_time La latencia más rápida de los tres modos.
Se aplicaron las condiciones de tráfico en tiempo real TRAFFIC_AWARE Sin equivalente

La API de Routes agregó un nuevo modo. Proporciona una latencia un poco mayor que TRAFFIC_UNAWARE, con un bajo costo de calidad de la hora de llegada estimada.

Tiene una latencia mucho menor que TRAFFIC_AWARE_OPTIMAL.

Se aplicaron datos de tráfico en vivo integrales y de alta calidad TRAFFIC_AWARE_OPTIMAL departure_time conjunto de propiedades

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 mayor que 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 en que puedes abordar estas diferencias cuando migras desde estos servicios en tus apps existentes.

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 Cómo realizar la configuración en la Consola de API 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 API.

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:
- Calcula una ruta
- Calcula una matriz de ruta
API de Directions
API de Distance Matrix
Pasar parámetros de URL mediante una solicitud HTTP GET

Diferencias en las respuestas de la hora de llegada estimada

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 la API 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 tiene en cuenta el tráfico.

Se configura con TRAFFIC_UNAWARE.

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

Corresponde a que no se estableció departure_time en la solicitud.

  • ETA incluido en la propiedad de respuesta duration.
  • No se muestra la propiedad de respuesta duration_in_traffic.
Es la hora de llegada estimada que tiene en cuenta el tráfico en tiempo real.

Se configura con TRAFFIC_AWARE o TRAFFIC_AWARE_OPTIMAL.

  • La hora de llegada estimada 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 del 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 hora de llegada estimada 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íneas

Ya no es necesario convertir tus coordenadas de latitud y longitud en puntos de referencia de polilínea con este servicio, que admite un cuerpo de solicitud POST y, por lo tanto, ya no se ve afectado por los límites de strings de URL. Algunos usuarios de la API de Distance Matrix solucionaron el problema de los límites de las 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 proporcionó direcciones con formato en la respuesta. Para obtener direcciones con formato, usa la API de Geocoding, que se creó para este caso de uso y proporciona resultados de mayor calidad.

Medios de transporte disponibles

Al igual que con la API de Directions, la API de Routes usa DRIVE como el modo predeterminado cuando una solicitud de ruta no especifica un medio de transporte. Sin embargo, cuando en una solicitud se especifica un medio de transporte para una ruta, la API de Routes no muestra un array de modos de viaje disponibles como opciones alternativas para la solicitud. Si tu caso de uso se basa en esta función, informa un problema y describe cómo la usas 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 convertidores de JSON a XML en línea que deberían adaptarse a tus propósitos.