Calculer une matrice de routes

Vous pouvez calculer la distance et la durée d'un itinéraire pour plusieurs points de départ et de destination à l'aide de la méthode ComputeRouteMatrix de l'API Routes Preferred. Compatibilité avec ComputeRouteMatrix à la fois les appels gRPC en streaming et les appels HTTP REST.

À partir d'une liste de paires point de départ-destination, ComputeRouteMatrix calcule la distance et la durée d'un itinéraire à partir de 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 streaming permet de renvoyer des éléments avant l'intégralité de la matrice ce qui réduit la latence.
  • ComputeRouteMatrix propose des options précises pour le calcul du trafic, ce qui vous permet de prendre des décisions pour trouver un compromis entre qualité et latence.
  • Les requêtes sont exécutées à un niveau de priorité plus élevé ce qui améliore la disponibilité.
  • Vous pouvez indiquer un cap (sens du trajet) et un côté de route. des informations sur les points de cheminement.
  • Vous pouvez demander le retour des informations sur les péages, 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 en savoir plus sur l'activation de l'API Routes Preferred , consultez la section Premiers pas.

Utiliser la méthode ComputeRouteMatrix

La méthode ComputeRouteMatrix est disponible via le service Routes Preferred 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. Vérifiez les protobuffers 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 procéder automatiquement à cette opération.

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

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

    • 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 attendez 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, découragés. Utilisez le caractère générique pour tester et comprendre Réponse de l'API, mais listez explicitement les champs que vous souhaitez afficher dans le masque de champ dans le code de production.

      Pour en savoir plus sur la création de la chaîne de masque de champ, consultez https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto. Notez que la désactivation des champs dont vous n'avez pas besoin peut réduire la latence, car ces champs peuvent nécessiter des calculs supplémentaires. Votre latence restera stable si vous spécifiez les champs dont vous avez besoin et les nouveaux champs qui nécessitent d'autres calculs seront ajoutés ultérieurement.

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

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

L'une des caractéristiques distinctives de la méthode ComputeRouteMatrix est que codes d'erreur peuvent être renvoyés soit pour l'ensemble du flux, soit pour des éléments. Par exemple, la connexion au flux renvoie une erreur si la requête est mal formé (par exemple, il n'a aucune origine). Toutefois, si une erreur s'applique à quelques éléments du flux (par exemple, définir un ID de lieu non valide) ; pour une origine), seuls les éléments affecté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. De ce fait, chaque élément contient un origin_index et un destination_index. Pour les points de départ et les destinations spécifiés par la requête, l'origine de l'itinéraire équivaut à origins[origin_index]. pour un élément donné et que la destination de l'itinéraire est équivalente à destinations[destination_index]. Ces tableaux sont indexés par zéro. Il est important pour stocker les commandes des listes d'origine et de destination.

Calcul des frais de péage

Pour plus d'informations sur le calcul des frais de péage, consultez Calculer les frais de péage

Pour obtenir des exemples de calcul des frais de péage, consultez Calculer des exemples de matrice de routes