Lorsque vous calculez un itinéraire ou une matrice d'itinéraires, vous pouvez tenir compte des éventuels péages sur l'itinéraire. Pour certaines villes, vous pouvez calculer le montant estimé du péage pour un itinéraire dans la devise appropriée.
Pour obtenir les péages d'une matrice d'itinéraires, consultez Calculer les péages pour une matrice d'itinéraires.
Pour obtenir la liste des emplacements de péage compatibles, consultez la référence pour TollPass.
Comment les péages sont-ils calculés ?
L'API Routes calcule le montant estimé du péage, en tenant compte des remises ou des abonnements disponibles pour le conducteur ou le véhicule, ainsi que des méthodes de paiement les plus pratiques. Si aucun prix de péage n'est disponible pour un itinéraire donné, l'API Routes indique l'existence d'un péage dont le montant est inconnu.
Pour obtenir des estimations précises des péages, assurez-vous d'inclure les informations suivantes dans votre requête :
- Le type d'émission du véhicule utilisé pour l'itinéraire
(
VehicleEmissionType). Si aucun type d'émission n'est fourni, le péage pour un véhicule à essence est renvoyé. - Tous les télépéages dont disposent le véhicule et le conducteur à l'aide de
(
TollPass). L'API utilise les télépéages pour déterminer les péages exacts et renvoie les prix en espèces lorsque les télépéages de la requête ne sont pas locaux à l'itinéraire. - Spécifiez les péages à éviter, si nécessaire. Si vous souhaitez éviter les routes à péage dans la mesure du possible, ajoutez
avoidTollsen tant queRouteModifier.
Calculer les péages à l'aide d'un télépéage
Pour calculer les péages à l'aide d'un télépéage, spécifiez les télépéages dans la requête. L'API renvoie ensuite les prix des abonnements.
Si vous spécifiez un télépéage non valide, il est ignoré.
Si vous spécifiez plusieurs télépéages sous forme de tableau, l'API tente de calculer le prix de l'itinéraire pour chaque télépéage.
Le comportement des télépéages peut varier selon la région.
Les tarifs peuvent être inférieurs avec un télépéage : dans certaines régions, un conducteur ou un véhicule disposant d'un télépéage paie un péage différent de ceux qui n'en ont pas. Par exemple, si vous disposez d'un télépéage Good To Go! à Seattle, dans l'État de Washington, aux États-Unis, vous payez un péage moins élevé que si vous n'en avez pas.
Certaines routes peuvent nécessiter un télépéage : certaines régions, comme l'Indonésie, disposent de routes qui nécessitent un télépéage. Si vous ne spécifiez pas de télépéage pour un itinéraire où un télépéage est requis, l'API ne renvoie pas de prix de péage.
Calculer les péages pour un itinéraire
L'exemple suivant utilise la
computeRoutes
méthode pour renvoyer des informations sur les péages avec un prix estimé
lorsqu'un télépéage est utilisé. Dans cet exemple, vous :
Définissez le champ de tableau
extraComputationssurTOLLSpour activer le calcul des informations sur les péages.Spécifiez le type de véhicule et le type de télépéage à l'aide du champ
routeModifiersde la requête. Le prix du péage renvoyé est basé sur la tarification utilisée par le type de véhicule et l'abonnement spécifiés. Si plusieurs abonnements sont spécifiés, le prix le moins cher est renvoyé.Utilisez le masque de champ de réponse pour configurer la méthode afin qu'elle renvoie des informations sur les péages dans la réponse. Dans cet exemple, la requête inclut les propriétés suivantes dans le masque de champ de réponse :
Champ
routes.travelAdvisory.tollInfopour renvoyer des informations sur l'ensemble de l'itinéraire.routes.legs.travelAdvisory.tollInfopour renvoyer des informations pour chaque tronçon.
Demande d'informations sur les péages
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude":42.340173523716736, "longitude":-71.05997968330408 } } }, "destination":{ "location":{ "latLng":{ "latitude":42.075698891472804, "longitude": -72.59806562080408 } } }, "travelMode": "DRIVE", "extraComputations": ["TOLLS"], "routeModifiers":{ "vehicleInfo":{ "emissionType": "GASOLINE" }, "tollPasses": [ "US_MA_EZPASSMA", "US_WA_GOOD_TO_GO" ] } }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.travelAdvisory.tollInfo,routes.legs.travelAdvisory.tollInfo' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
Réponse contenant des informations sur les péages
La réponse contient des informations sur les péages dans un TollInfo (REST) ou TollInfo (gRPC) object. Dans cet exemple, vous renvoyez des informations sur les péages pour l'ensemble de l'itinéraire et pour chaque tronçon de l'itinéraire.
{ "routes": [ { "legs": [ { "travelAdvisory": { "tollInfo": { "estimatedPrice": [ { "currencyCode": "USD", "units": "4", "nanos": 400000000 } ] } } } ], "distanceMeters": 150338, "duration": "6650s", "travelAdvisory": { "tollInfo": { "estimatedPrice": [ { "currencyCode": "USD", "units": "4", "nanos": 400000000 } ] } } } ] }