Menghitung biaya tol untuk sebuah rute

Saat menghitung rute atau matriks rute, Anda dapat mempertimbangkan biaya tol di rute tersebut. Untuk kota tertentu, Anda dapat menghitung estimasi biaya tol untuk rute dalam mata uang yang sesuai.

Untuk mendapatkan tarif tol untuk matriks rute, lihat Menghitung tarif tol untuk matriks rute.

Untuk daftar lokasi tol yang didukung, lihat referensi untuk TollPass.

Cara penghitungan tarif tol

Routes API menghitung estimasi tarif tol, dengan mempertimbangkan diskon tarif tol atau kartu yang tersedia untuk pengemudi atau kendaraan, dan metode pembayaran yang paling praktis. Jika tidak ada tarif tol yang tersedia untuk rute tertentu, Routes API akan menunjukkan adanya tol dengan biaya yang tidak diketahui.

Untuk mendapatkan estimasi tarif tol yang akurat, pastikan Anda menyertakan informasi berikut dalam permintaan Anda:

  • Jenis emisi kendaraan yang digunakan untuk rute (VehicleEmissionType). Jika tidak ada jenis emisi yang diberikan, tarif tol untuk kendaraan berbahan bakar bensin akan ditampilkan.
  • Semua kartu tol yang dimiliki kendaraan dan pengemudi menggunakan (TollPass). API menggunakan kartu tol untuk menentukan tarif tol yang akurat, dan menampilkan harga tunai saat kartu tol dalam permintaan tidak lokal untuk rute.
  • Tentukan hindari jalan tol, jika diperlukan. Jika Anda ingin menghindari jalan tol jika memungkinkan, tambahkan avoidTolls sebagai RouteModifier.

Menghitung tarif tol menggunakan kartu tol

Untuk menghitung tarif tol menggunakan kartu tol, Anda harus menentukan kartu tol sebagai bagian dari permintaan. API kemudian menampilkan harga tiket.

  • Jika Anda menentukan kartu tol yang tidak valid, kartu tersebut akan diabaikan.

  • Jika menentukan beberapa tiket tol sebagai array, API akan mencoba menghitung harga untuk rute untuk setiap tiket.

Cara kerja kartu tol dapat bervariasi menurut wilayah.

  • Tarif mungkin lebih rendah dengan kartu tol: Di beberapa wilayah, pengemudi atau kendaraan dengan kartu tol membayar tarif tol yang berbeda dengan yang tidak memiliki kartu. Misalnya, jika Anda memiliki kartu tol Good To Go! di Seattle, WA, AS, Anda akan membayar tarif tol yang lebih rendah daripada jika tidak memiliki kartu.

  • Beberapa jalan mungkin memerlukan kartu tol: Beberapa wilayah, seperti Indonesia, memiliki jalan yang memerlukan kartu tol. Jika Anda tidak menentukan kartu tol untuk rute yang memerlukan kartu tol, API tidak akan menampilkan harga tol.

Menghitung tarif tol untuk rute

Contoh berikut menggunakan metode computeRoutes untuk menampilkan informasi tol dengan perkiraan harga saat kartu tol digunakan. Dalam contoh ini, Anda:

  • Tetapkan kolom array extraComputations ke TOLLS untuk mengaktifkan penghitungan informasi tol.

  • Tentukan jenis kendaraan dan jenis kartu tol dengan menggunakan kolom routeModifiers permintaan. Harga tol yang ditampilkan didasarkan pada harga yang digunakan oleh jenis kendaraan dan kartu yang ditentukan. Jika lebih dari satu kartu ditentukan, harga yang paling murah akan ditampilkan.

  • Gunakan mask kolom respons untuk mengonfigurasi metode guna menampilkan informasi tol dalam respons. Dalam contoh ini, permintaan menyertakan properti berikut dalam mask kolom respons:

    • Kolom routes.travelAdvisory.tollInfo untuk menampilkan informasi untuk seluruh rute.

    • routes.legs.travelAdvisory.tollInfo untuk menampilkan informasi untuk setiap segmen.

Permintaan informasi tarif tol

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'

Respons yang berisi informasi tarif tol

Respons berisi informasi tentang tarif tol dalam objek TollInfo (REST) atau TollInfo (gRPC). Dalam contoh ini, Anda menampilkan informasi tol untuk seluruh rute dan untuk setiap segmen rute.

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