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

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

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

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