ルートの通行料金を計算する

ルートまたはルート マトリックスを計算する際は、ルートの通行料金を考慮することをおすすめします。一部の都市では、該当ルートの通行料金の見積もりを適切な通貨で計算できます。

ルート マトリックスの通行料金を取得するには、ルート マトリックスの通行料金を計算するをご覧ください。

サポートされている有料場所の一覧については、TollPass のリファレンスをご覧ください。

通行料金の計算方法

Routes API は、ドライバーや車両で利用可能な通行料金の割引やパス、最も便利なお支払い方法を考慮して、推定料金を計算します。特定のルートで利用可能な通行料金がない場合、Routes API は料金不明の通行料金が存在することを示します。

通行料金の正確な見積もりを取得するには、リクエストに次の情報を含めてください。

  • ルートで使用される車両の排出量タイプVehicleEmissionType)。排出量タイプが指定されていない場合は、ガソリン燃料車両の通行料金が返されます。
  • 車両と運転手が持っているすべての通行券は、TollPass を使用します。API は、通行料金パスを使用して正確な通行料金を判断し、リクエスト内の通行料金パスがそのルートの地域外でのみ利用できる場合は、現金料金を返します。
  • 必要に応じて、有料道路を使わないように指定します。できるだけ有料道路を避けたい場合は、avoidTollsRouteModifier として追加します。

通行証を使って通行料金を計算する

通行券を使用して通行料金を計算するには、リクエストの一部として通行料金を指定します。API はパスの料金を返します。

  • 無効な通行券を指定すると、そのパスは無視されます。

  • 複数の通行券を配列として指定した場合、API はパスごとに経路の料金を計算します。

通行券の動作は、地域によって異なる場合があります。

  • 通行券を使用すると運賃が低くなる可能性がある: 地域によっては、通行券のある運転手や車両が、持っていない通行料の支払いとは異なる通行料を支払う場合があります。たとえば、米国ワシントン州シアトルの Good To Go! の有料パスを使えば、パスがない場合より通行料が安くなります。

  • 一部の道路では通行証が義務付けられている: インドネシアなど、一部の地域では通行券が求められる道路があります。通行券が必要な経路に通行証が指定されていない場合、API は通行料金を返しません。

経路の通行料金を計算する

次の例では、computeRoutes メソッドを使用して、通行券の使用時に通行料金情報と概算料金を返しています。この例では、次の操作を行います。

  • 通行料金情報の計算を有効にするには、extraComputations 配列フィールドを TOLLS に設定します。

  • リクエストの routeModifiers フィールドを使用して、車両タイプと通行料金パスの種類を指定します。返される通行料金は、指定された車両タイプとパスで使用される料金に基づきます。複数のパスが指定されている場合は、最も安価な料金が返されます。

  • レスポンス フィールド マスクを使用して、レスポンスに通行料金情報を返すようにメソッドを構成します。この例では、リクエストのレスポンス フィールド マスクに次のプロパティが含まれています。

    • routes.travelAdvisory.tollInfo フィールドを使用してルート全体の情報を返します。

    • routes.legs.travelAdvisory.tollInfo: 各区間の情報を返します。

通行料金情報のリクエスト

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'

通行料金情報を含むレスポンス

レスポンスには、TollInfo(REST)オブジェクトまたは TollInfo(gRPC)オブジェクト内の通行料金に関する情報が含まれます。この例では、ルート全体とルートの各区間の通行料金情報を返します。

{
  "routes": [
    {
      "legs": [
        {
          "travelAdvisory": {
            "tollInfo": {
              "estimatedPrice": [
                {
                  "currencyCode": "USD",
                  "units": "4",
                  "nanos": 400000000
                }
              ]
            }
          }
        }
      ],
      "distanceMeters": 150338,
      "duration": "6650s",
      "travelAdvisory": {
        "tollInfo": {
          "estimatedPrice": [
            {
              "currencyCode": "USD",
              "units": "4",
              "nanos": 400000000
            }
          ]
        }
      }
    }
  ]
}