En esta guía, se describe cómo migrar apps que usan la API de Directions o la API de Distance Matrix para usar la API de Routes. Para obtener detalles sobre la API de Routes, consulta la descripción general del producto.
Prácticas recomendadas de facturación para la migración
Esta guía se aplica si el uso de la API es lo suficientemente alto como para pasar a los precios de segundo nivel. Cuando migras a una versión más reciente de una API, también se te factura por una SKU diferente. Para evitar aumentos de costos durante el mes de la transición, te recomendamos que cambies a las nuevas APIs en producción lo más cerca posible del comienzo del mes. Esto garantizará que alcances los niveles de precios mensuales más rentables durante el mes de la migración. Para obtener información sobre los niveles de precios, consulta la página de precios y las Preguntas frecuentes sobre los precios.
Actualiza los extremos de la API de REST
Actualiza tu código para usar los nuevos extremos de la API de Routes.
De la API de Directions
| API de Directions | https://maps.googleapis.com/maps/api/directions/outputFormat?parameters |
| API de Routes | https://routes.googleapis.com/directions/v2:computeRoutes |
De la API de Distance Matrix
| API de Distance Matrix | https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters |
| API de Routes | https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix |
Convierte los parámetros de URL para usar un cuerpo de solicitud HTTPS
Con la API de Directions y la API de Distance Matrix, pasas las propiedades de configuración como parámetros de URL a una solicitud HTTP GET. Por ejemplo, para la API de Directions:
https://maps.googleapis.com/maps/api/directions/outputFormat?parameters
Con la API de Routes, pasas parámetros en un cuerpo de solicitud o en encabezados como parte de una solicitud HTTP POST. Para ver ejemplos, consulta lo siguiente:
Convierte los puntos de referencia codificados con polilíneas en puntos de referencia de ubicación
La especificación de puntos de referencia como polilíneas codificadas está disponible en la API de Directions (heredada) para ajustar una gran cantidad de puntos de referencia en el límite de URL de 16,384 caracteres. Esta función no es necesaria en la API de Routes porque los puntos de referencia se pueden transmitir en el cuerpo de la solicitud de REST o gRPC como coordenadas de latitud y longitud. Para ver ejemplos, consulta el ejemplo de HTTP en el documento Calcula una matriz de rutas o Define un punto de referencia intermedio en el documento Especifica puntos de referencia intermedios.
Convierte parámetros
En las siguientes tablas, se enumeran los parámetros de la API de Directions y la API de Distance Matrix que se cambiaron de nombre o se modificaron, o los parámetros que no son compatibles con la versión de DG. Actualiza tu código si usas alguno de estos parámetros.
Conversiones de parámetros de solicitud
| Parámetro de Directions o matriz de distancia | Parámetro de la API de Routes | Notas |
|---|---|---|
alternatives |
computeAlternativeRoutes |
|
arrival_time |
arrivalTime |
Solo está disponible en el modo TRANSIT y no al mismo tiempo que departureTime. |
avoid |
routeModifiers |
|
departure_time |
departureTime |
No se puede usar al mismo tiempo que arrivalTime. |
language |
languageCode |
Solo se admite para Compute Routes. |
mode |
travelMode |
Se agregó compatibilidad con |
region |
regionCode |
|
traffic_model |
trafficModel |
Más información |
transit_mode |
"travelMode": "TRANSIT" |
En la API de Directions (heredada), en una ruta de transporte público, cada segmento de un viaje con el mismo modo de viaje (por ejemplo, a pie o en transporte público) se considera un paso, y las instrucciones individuales para ese modo de viaje se encuentran en los subpasos. Por el contrario, en la API de Routes, los pasos son siempre una instrucción de navegación en todos los tipos de viajes. Por lo tanto, cada instrucción de navegación es un paso. Para varios pasos en un modo de viaje, la API de Routes proporciona metadatos que contienen un resumen de los pasos para ese modo de viaje, en `stepsOverview`. Para solicitar estos metadatos, usa la `routes.legs.stepsOverview` máscara de campo. Más información. |
transit_routing_preference |
transitRoutingPreference |
Más información |
units |
units |
Más información |
waypoints |
intermediates |
Se quitó la compatibilidad con polilíneas codificadas. |
optimize=true para puntos de referencia |
"optimizeWaypointOrder": "true" |
Más información |
Conversiones de parámetros de respuesta
| Parámetro de Directions o matriz de distancia | Parámetro de la API de Routes | Notas |
|---|---|---|
copyrights |
No se incluye en la respuesta. Debes incluir la siguiente declaración cuando muestres los resultados a tus usuarios:
Por ejemplo:
|
|
distance |
distanceMeters |
La distancia solo está disponible en metros. |
duration_in_traffic |
duration |
Se quitó en la API de Routes. Usa duration. |
status |
No disponible. Usa los códigos de respuesta HTTP para errores que informa la API. Consulta Controla errores de solicitud para obtener más información. | |
geocoded_waypoints |
geocoding_results |
Solo se admite para Compute Routes. Contiene información de respuesta de geocodificación solo para los puntos de referencia especificados como direcciones. |
bounds |
viewport |
|
legs.end_address |
No disponible. | Usa IDs de lugar en lugar de coordenadas para el enrutamiento de alta precisión. Los IDs de lugar contienen datos que ajustan la ruta a los puntos de acceso correctos.
|
legs.start_address |
No disponible. | |
overview_polyline |
polilínea | |
summary |
description |
|
waypoint_order |
optimizedIntermediateWaypointIndex |