محاسبه هزینه عوارض برای یک مسیر

هنگامی که یک مسیر یا یک ماتریس مسیر را محاسبه می کنید، ممکن است بخواهید هر گونه هزینه عوارض در مسیر را در نظر بگیرید. برای شهرهای منتخب، می‌توانید هزینه تخمینی عوارض یک مسیر را با ارز مناسب محاسبه کنید.

برای دریافت عوارض برای ماتریس مسیر، به محاسبه هزینه عوارض برای ماتریس مسیر مراجعه کنید.

برای لیست مکان‌های عوارض پشتیبانی شده، به مرجع TollPass مراجعه کنید.

نحوه محاسبه عوارض

Routes API هزینه تخمینی عوارض را با در نظر گرفتن هر گونه تخفیف در قیمت عوارض یا مجوزهای موجود برای راننده یا وسیله نقلیه و راحت‌ترین روش‌های پرداخت محاسبه می‌کند. اگر قیمت عوارضی در دسترس برای یک مسیر مشخص وجود نداشته باشد، Routes API وجود عوارضی با هزینه نامشخص را نشان می دهد.

برای به دست آوردن برآورد دقیق عوارض، مطمئن شوید که اطلاعات زیر را در درخواست خود لحاظ کرده اید:

  • نوع انتشار وسیله نقلیه مورد استفاده برای مسیر ( VehicleEmissionType ). اگر نوع انتشار ارائه نشده باشد، عوارض خودروهای بنزینی برگردانده می شود.
  • تمام عوارضی که وسیله نقلیه و راننده از ( TollPass ) استفاده می کنند. API از گذرنامه‌های عوارض برای تعیین هزینه‌های دقیق عوارض استفاده می‌کند و زمانی که مجوزهای عوارض در درخواست محلی برای مسیر نباشد، قیمت‌های نقدی را برمی‌گرداند.
  • در صورت لزوم اجتناب از عوارض را مشخص کنید . اگر می‌خواهید در صورت امکان از جاده‌های عوارضی اجتناب کنید، avoidTolls به عنوان RouteModifier اضافه کنید.

محاسبه عوارض با استفاده از کارت عوارض

برای محاسبه عوارض با استفاده از گذرنامه، هر گونه گذراندن عوارض را به عنوان بخشی از درخواست مشخص می‌کنید. سپس API قیمت های عبور را برمی گرداند.

  • اگر یک گذرنامه نامعتبر تعیین کنید، گذرنامه نادیده گرفته می شود.

  • اگر چندین گذر عوارض را به عنوان یک آرایه مشخص کنید، API تلاش می کند تا قیمت مسیر را برای هر عبور محاسبه کند.

نحوه رفتار گذرهای عوارض می‌تواند بسته به منطقه متفاوت باشد.

  • ممکن است نرخ‌ها با کارت عوارض کمتر باشد : در برخی مناطق، راننده یا وسیله نقلیه‌ای با کارت عوارضی عوارض متفاوتی نسبت به کسانی که کارت ندارند پرداخت می‌کنند. به عنوان مثال، اگر شما یک Good To Go دارید! کارت عوارضی در سیاتل، WA، ایالات متحده، شما عوارض کمتری نسبت به نداشتن کارت می پردازید.

  • برخی از جاده‌ها ممکن است به کارت عوارضی نیاز داشته باشند : برخی از مناطق، مانند اندونزی، جاده‌هایی دارند که نیاز به دریافت عوارض دارند. اگر برای مسیری که در آن مجوز دریافت عوارض الزامی است، کارت عوارضی تعیین نکنید، API هزینه عوارضی را برنمی‌گرداند.

محاسبه هزینه عوارض برای یک مسیر

مثال زیر از روش computeRoutes برای برگرداندن اطلاعات عوارض با قیمت تخمینی در هنگام استفاده از کارت عوارض استفاده می کند. در این مثال، شما:

  • فیلد آرایه extraComputations را روی TOLLS تنظیم کنید تا محاسبه اطلاعات عوارض فعال شود.

  • با استفاده از قسمت routeModifiers درخواست، نوع وسیله نقلیه و نوع کارت عوارضی را مشخص کنید. قیمت عوارض برگشتی بر اساس قیمت استفاده شده توسط نوع وسیله نقلیه و مجوز مشخص شده است. اگر بیش از یک پاس مشخص شده باشد، ارزان ترین قیمت برگشت داده می شود.

  • از ماسک فیلد پاسخ برای پیکربندی روش برای برگرداندن اطلاعات عوارض در پاسخ استفاده کنید. در این مثال، درخواست شامل ویژگی های زیر در ماسک فیلد پاسخ بود:

    • قسمت routes.travelAdvisory.tollInfo برای بازگرداندن اطلاعات کل مسیر.

    • routes.legs.travelAdvisory.tollInfo برای بازگرداندن اطلاعات برای هر پا.

درخواست اطلاعات عوارض

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'

پاسخ حاوی اطلاعات عوارض

پاسخ حاوی اطلاعاتی در مورد عوارض در یک شیء TollInfo (REST) ​​یا TollInfo (gRPC) است. در این مثال، شما اطلاعات عوارض را برای کل مسیر و برای هر قسمت از مسیر برمی گردانید.

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