Menghitung biaya tol untuk sebuah rute

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

Untuk mendapatkan jalan tol untuk matriks rute, lihat Menghitung biaya tol untuk matriks rute.

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

Cara penghitungan tarif tol

Routes API menghitung perkiraan biaya tol, dengan mempertimbangkan diskon harga tol atau kartu yang tersedia untuk pengemudi atau kendaraan, dan metode pembayaran yang paling nyaman. Jika tidak ada harga 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 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 biaya tol yang akurat, dan menampilkan harga tunai jika kartu tol dalam permintaan tidak bersifat lokal untuk rute.
  • Tentukan hindari jalan tol, jika diperlukan. Jika Anda ingin menghindari jalan tol jika memungkinkan, tambahkan avoidTolls sebagai RouteModifier.

Menghitung tol menggunakan kartu tol

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

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

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

Cara perilaku kartu tol dapat bervariasi menurut wilayah.

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

  • 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 mewajibkan kartu tol, API tidak akan menampilkan harga tol.

Menghitung biaya tol untuk suatu 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 pada permintaan. Harga tol yang ditampilkan didasarkan pada harga yang digunakan oleh jenis kendaraan dan kartu yang ditentukan. Jika lebih dari satu kartu yang 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:

    • routes.travelAdvisory.tollInfo untuk menampilkan informasi 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 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
            }
          ]
        }
      }
    }
  ]
}