通行料金を計算する

ルートまたはルート マトリックスを計算する場合は、ルートの通行料金を考慮する必要があります。一部の都市では、適切な通貨でのルートの推定通行料金を計算できます。

下記のサポートされている通行場所のリストをご覧ください。

通行料金の計算方法

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

通行料金情報を正確に計算するために、Routes API では次のオプションを指定できます。

  • ルートに使用される車両の排出タイプ(VehicleEmissionType)。排出タイプが指定されていない場合は、ガソリン燃料の通行料金が返されます。
  • 適用される可能性のある運転手や車両の通行券(TollPass)。通行証が指定されていない場合、API は現金の料金を返します。
  • avoidTollsRouteModifier(有料道路を使わない)

通行証を使用する場合の通行料金の計算

地域によっては、通行証が支払われる運転手や車両の場合、通行証を持たない通行料金の支払いとは異なる場合があります。たとえば、米国ワシントン州シアトルの To To Go! 有料パスがある場合は、パスがない場合よりも低額の料金が発生します。

インドネシアなどの一部の地域では、有料道路の通行が義務付けられています。通行証が必要な経路で通行証が指定されていない場合、料金は返されません。

リクエストの一部として通行料金を指定すると、API でパスの料金が返されます。

  • 無効な通行券を指定した場合、この通行は無視されます。

  • 複数の通行券を配列として指定できます。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
            }
          ]
        }
      }
    }
  ]
}

ルート マトリックスの通行料金の計算

次の例では、computeRouteMatrix メソッドを使用して、通行証料金を使用したときに推定料金が記載されたルートの通行情報を取得しています。

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

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

  • レスポンス フィールド マスクを使用して、レスポンスで通行料金情報を返すようにメソッドを構成します。ルート全体の情報を取得するには、routes.travelAdvisory.tollInfo を指定します。

ルートの行列料金情報のリクエスト

curl -X POST -d '{
"origins": [
  {
    "waypoint": {
      "location": {
        "latLng": {
          "latitude":42.340173523716736,
          "longitude":-71.05997968330408
        }
      }
    },
    "routeModifiers": {
      "vehicleInfo":{
        "emissionType": "GASOLINE"
      },
      "tollPasses": [
        "US_MA_EZPASSMA",
        "US_WA_GOOD_TO_GO"
      ]
    }
  }
],
"destinations": [
  {
    "waypoint": {
      "location": {
        "latLng": {
          "latitude":42.075698891472804,
          "longitude": -72.59806562080408
        }
      }
    }
  }
],
"travelMode": "DRIVE",
"extraComputations": ["TOLLS"]
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,travel_advisory.tollInfo,duration,distanceMeters,status' \
'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'

ルート料金料金情報のレスポンス

レスポンスには、TollInfo(REST)または TollInfo(gRPC)オブジェクトの通行料金に関する情報が含まれます。

通行料金情報を返すメソッドを構成するには、レスポンス フィールド マスクを使用して、マスクの travelAdvisory.tollInfo フィールドを設定します。

[
  {
    "originIndex": 0,
    "destinationIndex": 0,
    "status": {},
    "distanceMeters": 150338,
    "duration": "5382s",
    "travelAdvisory": {
      "tollInfo": {
        "estimatedPrice": [
          {
            "currencyCode": "USD",
            "units": "4",
            "nanos": 400000000
           }
        ]
      }
    }
  }
]

サポートされている通行料金の場所

現在、通行料金情報は次の地域でご利用いただけます。

地域コード国 / 地域都道府県
AR アルゼンチン ブエノスアイレス
AU オーストラリア ブリスベン
AU オーストラリア シドニー
BR ブラジル 全国
ID インドネシア 全国
IN インド 全国
メキシコ メキシコ メキシコシティ
米国 米国 アラバマ
米国 米国 アラスカ
米国 米国 カリフォルニア
米国 米国 コロラド
米国 米国 デラウェア
米国 米国 フロリダ
米国 米国 イリノイ
米国 米国 アイオワ
米国 米国 インディアナ
米国 米国 カンザス
米国 米国 ルイジアナ
米国 米国 メイン
米国 米国 メリーランド
米国 米国 マサチューセッツ
米国 米国 ミシガン
米国 米国 ミネソタ
米国 米国 ミズーリ
米国 米国 ニューハンプシャー
米国 米国 ニュージャージー
米国 米国 ニューヨーク
米国 米国 ノースカロライナ
米国 米国 オハイオ
米国 米国 ペンシルバニア
米国 米国 ロードアイランド
米国 米国 サウスカロライナ
米国 米国 テキサス
米国 米国 ユタ
米国 米国 Virginia
米国 米国 ワシントン
米国 米国 ウェストバージニア

この情報は、通行料金のデータが増えるたびに更新されます。