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 mengetahui daftar lokasi tol yang didukung, baca 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 menunjukkan adanya tol dengan biaya 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 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 jalan tol menggunakan kartu tol, Anda menentukan kartu tol sebagai bagian dari terhadap 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 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 tarif tol yang berbeda dengan yang tidak memiliki kartu. Misalnya, jika Anda memiliki Bagus! kartu tol di Seattle, WA, AS, Anda membayar tol lebih rendah daripada jika Anda tidak memiliki lulus.

  • Beberapa jalan mungkin memerlukan jalan tol: Beberapa wilayah, seperti Indonesia, memiliki jalan yang memerlukan izin tol. Jika Anda tidak menentukan kartu tol untuk rute yang mewajibkan kartu tol, API tidak menampilkan tarif 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 menggunakan Kolom routeModifiers permintaan. Harga tol yang ditampilkan didasarkan pada harga yang digunakan oleh jenis kendaraan dan kartu yang ditentukan. Jika lebih dari satu ditentukan, harga yang paling murah akan dimunculkan.

  • 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 guna menampilkan informasi untuk keseluruhan rute.

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

Meminta 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
            }
          ]
        }
      }
    }
  ]
}