Renvoie l'itinéraire principal ainsi que d'autres itinéraires facultatifs, en fonction d'un ensemble de points de cheminement terminaux et intermédiaires.
REMARQUE:Cette méthode nécessite que vous spécifiiez un masque de champ de réponse dans l'entrée. Vous pouvez fournir le masque de champ de réponse à l'aide du paramètre d'URL $fields
ou fields
, ou d'un en-tête HTTP/gRPC X-Goog-FieldMask
(voir les paramètres et en-têtes d'URL disponibles). La valeur est une liste de chemins d'accès de champs séparés par une virgule. Consultez la documentation détaillée sur la création des chemins d'accès aux champs.
Par exemple, dans cette méthode:
- Masque de champ de tous les champs disponibles (pour inspection manuelle):
X-Goog-FieldMask: *
- Masque de champ pour la durée, la distance et la polyligne au niveau de l'itinéraire (exemple de configuration de production):
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
Google déconseille d'utiliser le masque de champ de réponse avec caractère générique (*
) ou de spécifier le masque de champ au niveau supérieur (routes
), pour les raisons suivantes:
- En sélectionnant uniquement les champs dont vous avez besoin, vous permettez à notre serveur d'économiser des cycles de calcul, ce qui nous permet de vous renvoyer le résultat avec une latence plus faible.
- Sélectionner uniquement les champs dont vous avez besoin dans votre job de production garantit des performances de latence stables. Nous ajouterons peut-être d'autres champs de réponse à l'avenir, et ces nouveaux champs pourraient nécessiter un temps de calcul supplémentaire. Si vous sélectionnez tous les champs ou tous les champs du niveau supérieur, vous risquez de constater une dégradation des performances. En effet, tout nouveau champ ajouté sera automatiquement inclus dans la réponse.
- En ne sélectionnant que les champs dont vous avez besoin, vous pouvez réduire la taille de réponse et, par conséquent, le débit du réseau.
Requête HTTP
POST https://routespreferred.googleapis.com/v1:computeRoutes
L'URL utilise la syntaxe de transcodage gRPC.
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
Représentation JSON |
---|
{ "origin": { object ( |
Champs | |
---|---|
origin |
Obligatoire. Point de cheminement de départ. |
destination |
Obligatoire. Point de cheminement de destination. |
intermediates[] |
Facultatif. Ensemble de points de cheminement sur l'itinéraire (à l'exclusion des terminaux) permettant de s'arrêter à ou de passer. Jusqu'à 25 points de cheminement intermédiaires sont acceptés. |
travelMode |
Facultatif. Spécifie le mode de transport. |
routingPreference |
Facultatif. Spécifie comment calculer la route. Le serveur tente d'utiliser la préférence de routage sélectionnée pour calculer la route. Si la préférence de routage génère une erreur ou une latence plus longue, une erreur est renvoyée. À l'avenir, nous pourrons mettre en œuvre un mécanisme de remplacement permettant d'utiliser une autre option lorsque l'option préférée ne donnera pas de résultat valide. Vous ne pouvez spécifier cette option que lorsque |
polylineQuality |
Facultatif. Spécifie votre préférence pour la qualité de la polyligne. |
polylineEncoding |
Facultatif. Spécifie l'encodage préféré pour la polyligne. |
departureTime |
Facultatif. Heure de départ. Si vous ne définissez pas cette valeur, elle correspond par défaut à l'heure à laquelle vous avez effectué la requête. Si vous définissez cette valeur sur une heure qui s'est déjà produite, la requête échoue. Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : |
computeAlternativeRoutes |
Indique s'il faut calculer des itinéraires bis en plus de l'itinéraire. |
routeModifiers |
Facultatif. Ensemble de conditions à remplir qui affectent la façon dont les itinéraires sont calculés. |
languageCode |
Facultatif. Le code de langue BCP-47, tel que "en-US" ou "sr-Latn". Pour en savoir plus, consultez la page http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Consultez la page Langues acceptées pour obtenir la liste des langues disponibles. Si vous ne fournissez pas cette valeur, la langue d'affichage est déduite de l'emplacement de la requête d'itinéraire. |
units |
Facultatif. Spécifie les unités de mesure des champs d'affichage. Cela inclut le champ |
optimizeWaypointOrder |
Si OptimizeWaypointOrder est défini sur "true", une tentative de réorganisation des points de cheminement intermédiaires spécifiés est effectuée afin de minimiser le coût global de l'itinéraire. Si l'un des points de cheminement intermédiaires se trouve via un point de cheminement, la requête échoue. Utilisez ComputeRoutesResponse.Routes.optimized_intermédiaire_waypoint_index pour trouver le nouvel ordre. Si l'élément "routes.optimized_intermédiaire_waypoint_index" n'est pas demandé dans l'en-tête |
Corps de la réponse
Si la requête aboutit, le corps de la réponse contient une instance de ComputeRoutesResponse
.
Champs d'application des autorisations
Requiert le niveau d'accès OAuth suivant :
https://www.googleapis.com/auth/maps-platform.routespreferred
Pour en savoir plus, consultez la Présentation d'OAuth 2.0.