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

Lorsque vous calculez un itinéraire ou une matrice d'itinéraire, vous pouvez tenir compte des 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éraires, consultez la section Calculer les frais de péage pour une matrice d'itinéraires.

Pour obtenir la liste des zones de péage disponibles, consultez la documentation de référence sur TollPass.

Mode de calcul des péages

L'API Routes calcule l'estimation des frais de péage en tenant compte des remises ou des cartes de péage disponibles pour le conducteur ou le véhicule, ainsi que les 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 avec des frais 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 spécifié, le péage pour un véhicule à essence est renvoyé.
  • Tous les pass de péage dont disposent le véhicule et le conducteur à l'aide de (TollPass). L'API utilise les pass de péage pour déterminer les frais de péage exacts. Elle renvoie les prix en espèces lorsque les pass de péage inclus dans la requête ne sont pas situés à proximité de l'itinéraire.
  • Indiquez comment éviter les péages, si nécessaire. 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 pass de péage, vous devez les spécifier 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 sous forme de tableau, l'API tente de calculer le prix de l'itinéraire pour chaque pass.

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

  • Les tarifs peuvent être inférieurs avec un pass de péage: dans certaines régions, un conducteur ou un véhicule doté d'un pass de péage paie un péage différent de celui des autres. Par exemple, si vous avez un pass de péage Good To Go! à Seattle, dans l'État de Washington, aux États-Unis, le péage sera moins élevé que si vous n'avez pas de pass.

  • Certaines routes peuvent nécessiter un pass de péage: dans certaines régions, comme l'Indonésie, les routes nécessitent un pass de péage. Si vous ne spécifiez pas de titre de 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 des informations sur les péages avec une estimation du prix en cas d'utilisation d'un télépéage. Dans cet exemple, vous allez:

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

  • Spécifiez le type de véhicule et le type de titre de transport à l'aide du champ routeModifiers de la requête. Le prix de péage renvoyé est basé sur le prix utilisé par le type de véhicule et le titre de transport spécifiés. Si plusieurs cartes sont spécifiées, le tarif le plus bas 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 a inclus les propriétés suivantes dans le masque de champ de réponse:

    • routes.travelAdvisory.tollInfo pour renvoyer des informations sur l'ensemble 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 des informations sur les péages 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
            }
          ]
        }
      }
    }
  ]
}