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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

احتساب رسوم العبور لمسار

يستخدِم المثال التالي الإجراء 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
            }
          ]
        }
      }
    }
  ]
}