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

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

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

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

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

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

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

  • نوع الانبعاثات للمركبة المستخدَمة للمسار (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
            }
          ]
        }
      }
    }
  ]
}