احتساب رسوم العبور لمسار معيّن

عندما تقوم بحساب طريق أو مصفوفة مسار، قد ترغب في مراعاة أي رسوم عبور على المسار. بالنسبة لمدن محددة، يمكنك حساب رسوم العبور المقدرة للطريق بالعملة المناسبة.

لمعرفة رسوم العبور لمصفوفة مسارات، يُرجى الاطّلاع على حساب رسوم العبور لمصفوفة مسارات.

للحصول على قائمة بمواقع رسوم العبور المتوافقة، يُرجى الاطّلاع على مرجع TollPass.

كيفية احتساب رسوم العبور

تحتسب Routes API الرسوم المقدَّرة لرسوم العبور، مع مراعاة أي خصومات على رسوم العبور أو تصاريح الدفع المتاحة للسائق أو المركبة، وطرق الدفع الأكثر ملاءمة. في حال عدم توفّر سعر لرسوم عبور لمسار معيّن، تشير واجهة برمجة تطبيقات Routes إلى وجود رسوم عبور برسوم غير معروفة.

للحصول على تقديرات دقيقة لرسوم العبور، تأكد من تضمين المعلومات التالية في طلبك:

  • نوع الانبعاثات للمركبة المستخدَمة في المسار (VehicleEmissionType). في حال عدم تحديد نوع انبعاثات، يتم إرجاع رسوم المركبات التي تعمل بالبنزين.
  • يتم تمرير جميع رسوم العبور للمركبة والسائق باستخدام (TollPass). تستخدم واجهة برمجة التطبيقات بطاقات رسوم العبور لتحديد رسوم العبور بدقة، وتعرض الأسعار النقدية عندما لا تكون رسوم العبور في الطلب محلية للمسار.
  • حدد تجنب دفع رسوم العبور، إذا لزم الأمر. إذا أردت تجنُّب الطرق ذات الرسوم حيثما أمكن، أضِف avoidTolls على أنّه RouteModifier.

احتساب رسوم العبور باستخدام بطاقة رسوم عبور

لحساب رسوم العبور باستخدام بطاقة رسوم عبور، عليك تحديد أي بطاقات عبور كجزء من الطلب. بعد ذلك، تعرض واجهة برمجة التطبيقات أسعار التصريحات.

  • إذا حدّدت بطاقة عبور غير صالحة، يتم تجاهل البطاقة.

  • في حال تحديد عدة رسوم عبور كمصفوفة، تحاول واجهة برمجة التطبيقات احتساب سعر المسار لكل تذكرة.

قد تختلف طريقة عمل بطاقات رسوم العبور حسب المنطقة.

  • قد تكون أسعار التذاكر أقل عند استخدام بطاقات رسوم العبور: في بعض المناطق، يدفع السائق أو المركبة التي تحمل بطاقة رسوم عبور رسوم عبور مختلفة عن تلك التي يدفعها مَن لا يملك بطاقة. على سبيل المثال، إذا كانت لديك بطاقة تمريرة جيّدة! في مدينة سياتل بولاية واشنطن بالولايات المتحدة، ستدفع رسم عبور أقلّ من المبلغ الذي تدفعه في حال عدم امتلاك بطاقة.

  • قد تتطلب بعض الطرق المرور مع رسوم عبور: بعض المناطق، مثل إندونيسيا، تحتوي على طرق تتطلّب مرور رسوم عبور. إذا لم تحدّد بطاقة رسوم العبور لمسار حيث يكون رسم المرور مطلوبًا، لا تعرض واجهة برمجة التطبيقات سعرًا للرسوم.

حساب رسوم العبور لمسار معيّن

يستخدم المثال التالي طريقة 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
            }
          ]
        }
      }
    }
  ]
}