Migrer de l'ancienne API Directions ou de l'ancienne API Distance Matrix

Développeurs de l'Espace économique européen (EEE)

Ce guide explique comment migrer les applications qui utilisent l'API Directions ou l'API Distance Matrix vers l'API Routes. Pour en savoir plus sur l'API Routes, consultez la présentation du produit.

Bonnes pratiques de facturation pour la migration

Ces conseils s'appliquent si votre utilisation de l'API est suffisamment élevée pour passer à la tarification de deuxième niveau. Lorsque vous migrez vers une version plus récente d'une API, vous êtes également facturé pour un SKU différent. Pour éviter une augmentation des coûts au cours du mois de votre transition, nous vous recommandons de passer aux nouvelles API en production le plus tôt possible dans le mois. Vous pourrez ainsi bénéficier des niveaux de tarification mensuels les plus avantageux pendant le mois de la migration. Pour en savoir plus sur les niveaux de tarification, consultez la page des tarifs et les questions fréquentes sur les tarifs.

Mettre à jour les points de terminaison de l'API REST

Mettez à jour votre code pour utiliser les nouveaux points de terminaison de l'API Routes.

De l'API Directions

API Directions https://maps.googleapis.com/maps/api/directions/outputFormat?parameters
API Routes https://routes.googleapis.com/directions/v2:computeRoutes

De l'API Distance Matrix

API Distance Matrix https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters
API Routes https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix

Convertir les paramètres d'URL pour utiliser un corps de requête HTTPS

Avec les API Directions et Distance Matrix, vous transmettez les propriétés de configuration en tant que paramètres d'URL à une requête HTTP GET. Par exemple, pour l'API Directions :

https://maps.googleapis.com/maps/api/directions/outputFormat?parameters

Avec l'API Routes, vous transmettez des paramètres dans le corps d'une requête ou dans des en-têtes dans le cadre d'une requête HTTP POST. Pour obtenir des exemples, consultez les pages suivantes :

Convertir des points de cheminement encodés en polylignes en points de cheminement de localisation

La spécification de points de cheminement sous forme de polylignes encodées est disponible dans l'API Directions (ancienne) pour permettre d'inclure un grand nombre de points de cheminement dans la limite d'URL de 16 384 caractères. Cette fonctionnalité n'est pas nécessaire dans l'API Routes, car les points de cheminement peuvent être transmis dans le corps de la requête REST ou gRPC sous forme de coordonnées de latitude/longitude. Pour obtenir des exemples, consultez l'exemple HTTP dans le document Calculer une matrice d'itinéraires ou Définir un point de cheminement intermédiaire dans le document Spécifier des points de cheminement intermédiaires.

Convertir les paramètres

Les tableaux suivants répertorient les paramètres de l'API Directions et de l'API Distance Matrix qui ont été renommés ou modifiés, ou les paramètres qui ne sont pas compatibles avec la version en disponibilité générale. Mettez à jour votre code si vous utilisez l'un de ces paramètres.

Conversions de paramètres de requête

Paramètre Directions ou matrice des distances Paramètre de l'API Routes Remarques
alternatives computeAlternativeRoutes
arrival_time arrivalTime Disponible uniquement en mode TRANSIT, et pas en même temps que departureTime.
avoid routeModifiers
departure_time departureTime Ne peut pas être utilisé en même temps que arrivalTime.
language languageCode Compatible uniquement avec Compute Routes.
mode travelMode

Transmis dans le corps de la requête JSON HTTP POST computeRoutes ou computeRouteMatrix à l'aide des valeurs RouteTravelMode (DRIVE, TWO_WHEELER, WALK, TRANSIT, TRUCK ou BICYCLE pour computeRoutes) au lieu d'un paramètre de requête d'URL GET. Ajout de la compatibilité avec TWO_WHEELER, TRANSIT et TRUCK.

region regionCode
traffic_model trafficModel En savoir plus
transit_mode "travelMode": "TRANSIT" Dans l'API Directions (ancienne version), sur un itinéraire en transports en commun, chaque segment d'un trajet avec le même mode de transport (par exemple, à pied ou en transports en commun) est considéré comme une étape, et les itinéraires individuels pour ce mode de transport sont des sous-étapes. En revanche, dans l'API Routes, les étapes correspondent systématiquement à une instruction de navigation pour tous les types de trajets. Chaque instruction de navigation est donc une étape. Pour plusieurs étapes dans un même mode de transport, l'API Routes fournit des métadonnées contenant un résumé des étapes pour ce mode de transport, dans "stepsOverview". Pour demander ces métadonnées, utilisez le masque de champ "routes.legs.stepsOverview". En savoir plus
transit_routing_preference transitRoutingPreference En savoir plus
units units En savoir plus
waypoints intermediates Suppression de la compatibilité avec les polylignes encodées.
optimize=true pour les points de cheminement "optimizeWaypointOrder": "true" En savoir plus

Conversions des paramètres de réponse

Paramètre Directions ou matrice des distances Paramètre de l'API Routes Remarques
copyrights

Non inclus dans la réponse. Vous devez inclure la déclaration suivante lorsque vous affichez les résultats à vos utilisateurs :

Powered by Google, ©YEAR Google

Exemple :

Powered by Google, ©2022 Google

distance distanceMeters La distance n'est disponible qu'en mètres.
duration_in_traffic duration Supprimé dans l'API Routes, utilisez duration.
status Non disponible. Utilisez les codes de réponse HTTP pour les erreurs signalées par l'API. Pour en savoir plus, consultez Gérer les erreurs de requête.
geocoded_waypoints geocoding_results Compatible uniquement avec Compute Routes. Contient des informations de réponse de géocodage uniquement pour les points de cheminement spécifiés en tant qu'adresses.
bounds viewport
legs.end_address Non disponible.

Utilisez des ID de lieu au lieu de coordonnées pour un itinéraire de haute précision. Les ID de lieu contiennent des données qui permettent d'aligner l'itinéraire sur les points d'accès appropriés.

  • Si vous commencez par une adresse : utilisez Place Autocomplete ou l'API Geocoding pour la convertir en ID de lieu.
  • Si vous commencez par des coordonnées : envisagez d'utiliser Rechercher des destinations pour fournir un lieu plus pertinent. Obtenir une adresse à partir de coordonnées peut être complexe et entraîner un alignement incorrect. L'API Routes n'effectue pas de géocodage inversé des coordonnées en adresses.
legs.start_address Non disponible.
overview_polyline polyligne
summary description
waypoint_order optimizedIntermediateWaypointIndex