En esta guía, se describe cómo migrar las 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 tu 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 un SKU diferente. Para evitar aumentos en los costos durante el mes de tu 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 precios.
Actualiza los endpoints 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 |
Desde 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 que usen un cuerpo de solicitud HTTPS
Con las APIs de Directions y 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, se vería de la siguiente manera:
https://maps.googleapis.com/maps/api/directions/outputFormat?parameters
Con la API de Routes, pasas parámetros en el cuerpo de una solicitud o en encabezados como parte de una solicitud HTTP POST. Para ver ejemplos, consulta los siguientes vínculos:
Cómo convertir 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 que quepa una gran cantidad de puntos de referencia en el límite de 16,384 caracteres de la URL. 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.
Parámetros de conversión
En las siguientes tablas, se enumeran los parámetros de la API de Directions y la API de Distance Matrix a los que se les cambió el nombre o se modificaron, o bien los parámetros que no se admiten en 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 las rutas de Compute. |
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 tramo de un viaje con el mismo medio de transporte (por ejemplo, caminar o transporte público) se considera un paso, y las instrucciones individuales para ese medio de transporte se encuentran en pasos secundarios. En cambio, 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. En el caso de varios pasos en un medio de transporte, la API de Routes proporciona metadatos que contienen un resumen de los pasos para ese medio de transporte en `stepsOverview`. Para solicitar estos metadatos, usa la máscara de campo `routes.legs.stepsOverview`. Obtén 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 afirmació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ó de la API de Routes. Usa duration. |
status |
No disponible. Usa los códigos de respuesta HTTP para los errores que informa la API. Consulta Cómo controlar los errores de solicitud para obtener más información. | |
geocoded_waypoints |
geocoding_results |
Solo se admite para Compute Routes. Contiene información de la 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 obtener rutas 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 |
polyline | |
summary |
description |
|
waypoint_order |
optimizedIntermediateWaypointIndex |