L'API Routes Preferred n'est actuellement disponible que pour certains clients. Contactez le service commercial pour en savoir plus.

Calculer une matrice de routes

Stay organized with collections Save and categorize content based on your preferences.

Vous pouvez calculer la distance et la durée d'un itinéraire pour plusieurs points de départ et destinations à l'aide de la méthode ComputeRouteMatrix de l'API Routes Preferred. ComputeRouteMatrix est compatible avec les appels gRPC par flux et les appels HTTP REST.

À partir d'une liste de paires point de départ et destination, ComputeRouteMatrix calcule la distance et la durée d'un itinéraire commençant à chaque point de départ et se terminant à chaque destination. Chaque élément du flux correspond aux informations d'un seul itinéraire.

La méthode ComputeRouteMatrix présente plusieurs avantages par rapport au service Distance Matrix:

  • Le traitement par flux permet de renvoyer des éléments avant le calcul de la matrice entière, ce qui réduit la latence.
  • ComputeRouteMatrix offre des options de calcul détaillées du trafic qui vous permettent de prendre des décisions en matière de latence de qualité.
  • Les requêtes sont exécutées à une priorité plus élevée au sein de l'infrastructure de Google, ce qui se traduit par une disponibilité accrue.
  • Vous pouvez spécifier un cap (sens de transport) et des informations sur le côté de la route pour les points de cheminement.
  • Vous pouvez demander le renvoi des informations à péage, ainsi que la distance de l'itinéraire et l'heure d'arrivée prévue.

Activer la méthode ComputeRouteMatrix

Avant de pouvoir utiliser la méthode ComputeRouteMatrix dans votre code, vous devez l'activer. Pour savoir comment activer les méthodes de l'API Routes Preferred, consultez Premiers pas.

Utiliser la méthode ComputeRouteMatrix

La méthode ComputeRouteMatrix est disponible via le point de terminaison Routes v1.

Pour en savoir plus, consultez la documentation suivante:

gRPC : https://developers.google.com/maps/documentation/routes_preferred/reference/rpc/google.maps.routes.v1

REST : https://developers.google.com/maps/documentation/routes_preferred/reference/rest/v1/TopLevel/computeRouteMatrix

Les étapes génériques suivantes décrivent comment utiliser gRPC pour appeler la méthode ComputeRouteMatrix:

  1. Consultez les tampons nécessaires à partir du dépôt googleapis:

    https://github.com/googleapis/googleapis/tree/master/google/maps/routes

    Notez que certains systèmes de compilation, tels que Go, peuvent le faire automatiquement pour vous.

  2. À l'aide du langage et de l'ensemble d'outils de compilation de votre choix, générez le code Webhookfer approprié.

  3. Générez votre requête. Vous devez envoyer deux métadonnées obligatoires avec la requête:

    • X-Goog-Api-Key doit être défini sur votre clé API.
    • X-Goog-Fieldmask doit être défini sur une liste de champs séparés par une virgule que vous exigez de la réponse. Par exemple, X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status. Vous pouvez utiliser le caractère générique (*) pour désigner tous les champs, mais cette pratique est déconseillée. Utilisez le caractère générique pour tester et comprendre la réponse de l'API, mais répertoriez explicitement les champs que vous souhaitez inclure dans le masque de champ de votre code de production.

      Pour savoir comment créer la chaîne du masque de champ, consultez la page https://github.com/protocolbuffers/saml/blob/master/src/google/saml/field_mask.proto. Notez que la désactivation des champs dont vous n'avez pas besoin peut réduire la latence, car ces derniers peuvent nécessiter des calculs supplémentaires. Votre latence restera stable si vous spécifiez les champs dont vous avez besoin. De nouveaux champs nécessitant davantage de calculs sont ajoutés ultérieurement.

  4. Envoyez votre requête à routespreferred.googleapis.com:443. Vous devez utiliser le protocole TLS.

Pour obtenir des exemples d'utilisation de la méthode ComputeRouteMatrix, consultez la section Calculer des exemples de matrices de routage (version bêta).

Une caractéristique distinctive de la méthode ComputeRouteMatrix est que des codes d'erreur peuvent être renvoyés pour l'ensemble du flux ou pour des éléments individuels. Par exemple, la connexion de flux renvoie une erreur si le format de la requête est incorrect (par exemple, s'il n'a aucune origine). Toutefois, si une erreur ne s'applique qu'à quelques éléments du flux (par exemple, si vous définissez un ID de lieu non valide pour une origine), seuls les éléments concernés par l'erreur contiennent des codes d'erreur.

Il n'est pas garanti que les éléments renvoyés par le flux soient renvoyés dans n'importe quel ordre. Pour cette raison, chaque élément contient un origin_index et un destination_index. Pour les points de départ et de destination spécifiés par la requête, le point de départ de l'itinéraire est équivalent à origins[origin_index] pour un élément donné et la destination à l'élément destinations[destination_index]. Ces tableaux sont nuls. Il est important de stocker les commandes associées aux listes d'origine et de destination.

Calcul des frais de péage

Pour en savoir plus sur le calcul des frais de péage, consultez la section Calculer les frais de péage.

Pour obtenir des exemples de calcul des frais de péage, consultez la section Calculer des exemples de matrices d'itinéraires.