Calculer les frais de péage pour un itinéraire

Lorsque vous calculez un itinéraire ou une matrice d'itinéraires, vous pouvez prendre en compte les frais de péage sur l'itinéraire. Pour certaines villes, vous pouvez calculer l'estimation des frais de péage pour un itinéraire dans la devise appropriée.

Pour connaître les péages d'une matrice d'itinéraire, consultez la section Calculer les frais de péage d'une matrice d'itinéraire.

Pour obtenir la liste des points de péage acceptés, consultez la documentation de référence sur TollPass.

Calcul des péages

L'API Routes calcule l'estimation des frais de péage en tenant compte des éventuelles remises ou cartes de péage disponibles pour le conducteur ou le véhicule, ainsi que des modes 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 les frais sont inconnus.

Pour obtenir des estimations précises des péages, veillez à inclure les informations suivantes dans votre demande:

  • Type d'émission du véhicule utilisé pour l'itinéraire (VehicleEmissionType). Si aucun type d'émission n'est indiqué, le péage d'un véhicule à essence est renvoyé.
  • Tous les pass de péage dont dispose le véhicule et le conducteur utilisent (TollPass). L'API utilise les pass de péage pour déterminer avec précision les frais de péage et renvoie des prix en espèces lorsque les péages inclus dans la requête ne correspondent pas à l'itinéraire.
  • Si nécessaire, spécifiez les péages à éviter. Si vous souhaitez éviter les routes à péage dans la mesure du possible, ajoutez avoidTolls en tant que RouteModifier.

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, vous spécifiez les pass de péage dans la requête. L'API renvoie ensuite les prix des cartes.

  • Si vous spécifiez un titre de péage non valide, il est ignoré.

  • Si vous spécifiez plusieurs pass de péage dans un tableau, l'API tente de calculer le prix de l'itinéraire pour chaque titre.

Le comportement des pass de péage peut varier d'une région à l'autre.

  • Les tarifs peuvent être inférieurs avec un télépéage: dans certaines régions, les conducteurs ou véhicules disposant d'un pass de péage paient des frais de péage différents de ceux des personnes qui n'en ont pas. Par exemple, si vous disposez d'un titre de péage Good To Go! à Seattle, dans l'État de Washington, vous payez un montant moins élevé que si vous n'avez pas de pass.

  • Certaines routes nécessitent un pass de péage: certaines régions, comme l'Indonésie, possèdent des routes qui nécessitent un péage. Si vous n'indiquez pas de télépéage pour un itinéraire nécessitant un télépéage, l'API ne renvoie pas de prix de péage.

Calculer les frais de péage pour un itinéraire

L'exemple suivant utilise la méthode computeRoutes pour renvoyer les informations sur le péage avec une estimation du prix lorsqu'un télépéage est utilisé. Dans cet exemple, vous allez:

  • Définissez le champ du tableau extraComputations sur TOLLS pour permettre le calcul des informations de péage.

  • Spécifiez le type de véhicule et le type de télépéage à l'aide du champ routeModifiers de la requête. Les frais de péage affichés sont basés sur les tarifs utilisés pour le type de véhicule et le pass spécifiés. Si plusieurs cartes sont spécifiées, le tarif le moins cher est renvoyé.

  • Utilisez le masque de champ de réponse pour configurer la méthode afin qu'elle renvoie les informations de péage dans la réponse. Dans cet exemple, la requête a inclus les propriétés suivantes dans le masque de champ de réponse:

    • routes.travelAdvisory.tollInfo pour renvoyer des informations sur l'intégralité de l'itinéraire.

    • routes.legs.travelAdvisory.tollInfo pour renvoyer des informations pour chaque étape

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 objet TollInfo (REST) ou TollInfo (gRPC). Dans cet exemple, vous renvoyez les informations à péage pour l'intégralité de l'itinéraire et pour chaque section 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
            }
          ]
        }
      }
    }
  ]
}