Une requête de matrice de calcul d'itinéraire prend en entrée un tableau de points de cheminement de départ et de destination. L'API Routes calcule ensuite l'itinéraire de chaque point de cheminement de départ à chaque point de cheminement de destination. Par exemple, si vous spécifiez deux points de cheminement de départ et deux points de cheminement de destination, l'API calcule alors quatre itinéraires distincts.
La réponse de l'API contient un tableau, où chaque élément du tableau correspond au trajet entre un point de cheminement de départ et un point de cheminement de destination. Par conséquent, si vous spécifiez deux points de cheminement d'origine et deux points de cheminement de destination, le tableau de réponse contient quatre éléments, un pour chaque itinéraire calculé.
À l'aide de cette réponse, vous pouvez proposer différentes options d'itinéraire à vos clients, puis laisser les utilisateurs sélectionner l'itinéraire le plus adapté à leurs besoins.
À propos des masques de champ
Lorsque vous appelez une méthode pour calculer un itinéraire, vous devez spécifier un masque de champ qui définit les champs que vous souhaitez renvoyer dans la réponse. Il n'existe pas de liste par défaut des champs renvoyés. Si vous omettez cette liste, les méthodes renvoient une erreur.
Les exemples de ce document montrent l'objet de réponse dans son intégralité sans tenir compte des masques de champ. Dans un environnement de production, votre réponse n'inclura que les champs que vous spécifiez explicitement dans le masque de champ.
Pour en savoir plus, consultez Choisir les informations à renvoyer.
À propos de l'affichage des droits d'auteur
Vous devez inclure la déclaration de droits d'auteur suivante lorsque vous présentez les résultats à vos utilisateurs:
Powered by Google, ©YEAR Google
Exemple :
Powered by Google, ©2023 Google
Identifier l'itinéraire dans la réponse
Utilisez les propriétés de réponse originIndex
et destinationIndex
pour identifier chaque itinéraire dans la réponse. Ces propriétés contiennent l'indice basé sur zéro des points de cheminement de départ et de destination saisis utilisés pour calculer l'itinéraire. Cela signifie que le premier point de cheminement de départ et le premier point de cheminement de destination de la requête se trouvent à l'index 0 du tableau.
Par exemple, une route dans la réponse contient les éléments suivants :
"originIndex": 1, "destinationIndex": 0
Ces propriétés indiquent que l'itinéraire a été calculé à partir du point de cheminement de départ à l'indice 1 dans le tableau d'entrée et du point de cheminement de destination à l'indice 0.
Pour l'itinéraire suivant :
"originIndex": 4, "destinationIndex": 1
L'itinéraire a été calculé à partir du point de cheminement de départ à l'index 4 dans le tableau d'entrée et du point de cheminement de destination à l'index 1 dans le tableau d'entrée.
À propos de la réponse
L'objet JSON représentant la réponse de l'API contient un tableau, où chaque élément du tableau définit l'itinéraire entre un point de cheminement d'origine et un point de cheminement de destination.
En plus des propriétés originIndex
et destinationIndex
, chaque itinéraire contient des informations spécifiques à cet itinéraire, telles que distanceMeters
, duration
et travelAdvisory
.
La réponse se présente sous la forme suivante :
[ // One array element for each combination of origin and destination waypoints. { // The route for source waypoint 0 and destination waypoint 0. "originIndex": 0, "destinationIndex": 0, "status": { object (Status) }, "condition": enum (RouteMatrixElementCondition), "distanceMeters": integer, "duration": string, "staticDuration": string, "travelAdvisory": { object (RouteTravelAdvisory) }, "fallbackInfo": { object (FallbackInfo) } } { // The route for source waypoint 0 and destination waypoint 1. "originIndex": 0, "destinationIndex": 1, "status": { object (Status) }, "condition": enum (RouteMatrixElementCondition), "distanceMeters": integer, "duration": string, "staticDuration": string, "travelAdvisory": { object (RouteTravelAdvisory) }, "fallbackInfo": { object (FallbackInfo) } } … ]