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

توسعه‌دهندگان منطقه اقتصادی اروپا (EEA)

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

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

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

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

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

برای دریافت تخمین‌های دقیق عوارض، حتماً اطلاعات زیر را در درخواستتان اضافه کنید:

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

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

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

  • اگر مجوز عوارضی نامعتبری مشخص کنید، مجوز نادیده گرفته می‌شود.

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

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

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

  • برخی‌از جاده‌ها ممکن است به گذرکارت عوارضی نیاز داشته باشند: برخی‌از مناطق، مانند اندونزی، جاده‌هایی دارند که به گذرکارت عوارضی نیاز دارند. اگر برای مسیری که گذرکارت عوارضی لازم دارد گذرکارت عوارضی مشخص نکنید، 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
            }
          ]
        }
      }
    }
  ]
}