Menghitung biaya tol untuk sebuah rute

Saat menghitung rute atau matriks rute, Anda mungkin ingin mempertimbangkan tarif tol pada rute tersebut. Untuk kota tertentu, Anda dapat menghitung perkiraan biaya tol untuk sebuah rute dalam mata uang yang sesuai.

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

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

Cara penghitungan tarif tol

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

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

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

Menghitung tarif tol menggunakan kartu tol

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

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

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

Cara perilaku kartu tol dapat berbeda-beda di setiap wilayah.

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

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

Menghitung tarif tol untuk sebuah 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 menggunakan kolom routeModifiers dalam permintaan. Tarif tol yang ditampilkan didasarkan pada harga yang digunakan oleh jenis dan kartu kendaraan yang ditentukan. Jika lebih dari satu kartu ditentukan, harga yang paling murah akan ditampilkan.

  • Gunakan mask kolom respons untuk mengonfigurasi metode agar 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 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 tol

Respons ini berisi informasi tentang tol di 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
            }
          ]
        }
      }
    }
  ]
}