Menghitung biaya tol untuk sebuah rute

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

Untuk mendapatkan jalan 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 perkiraan biaya tol, mempertimbangkan diskon atau kartu tol apa pun yang tersedia bagi pengemudi atau kendaraan, dan metode pembayaran yang paling nyaman. 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 jenis emisi tidak diberikan, tarif tol untuk kendaraan berbahan bakar bensin adalah dikembalikan.
  • Semua izin lewat tol di kendaraan dan pengemudi menggunakan (TollPass). API menggunakan kartu tol untuk menentukan tarif tol yang akurat, dan mengembalikan harga tunai ketika kartu tol dalam permintaan tidak bersifat lokal untuk rute.
  • Tentukan hindari jalan tol, jika perlu. Jika ingin menghindari jalan tol dengan mungkin, 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 kartu.

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

  • Jika menetapkan beberapa penerusan tol sebagai sebuah 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 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 jalan tol. Jika Anda tidak menentukan kartu tol untuk rute yang mewajibkan kartu tol, API tidak menampilkan tarif tol.

Menghitung tarif tol untuk sebuah rute

Contoh berikut menggunakan computeRoutes metode untuk mengembalikan informasi tol dengan estimasi harga jika kartu tol digunakan. Dalam contoh ini, Anda:

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

  • Tentukan jenis kendaraan dan jenis kartu tol menggunakan Kolom routeModifiers permintaan. Tarif tol yang dikembalikan didasarkan pada harga yang digunakan oleh jenis dan kartu kendaraan yang ditentukan. Jika lebih dari satu ditentukan, harga yang paling murah akan dimunculkan.

  • Gunakan mask kolom respons untuk mengonfigurasi metode agar menampilkan informasi tarif 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.

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 berisi informasi jalan tol TollInfo (REST) atau TollInfo (gRPC). Di sini misalnya, Anda mengembalikan informasi tol untuk seluruh rute dan untuk setiap segmen rute tersebut.

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