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

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

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

للحصول على قائمة بالمواقع الجغرافية لرسوم العبور المتاحة، راجِع مرجع رسوم العبور 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
            }
          ]
        }
      }
    }
  ]
}