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

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

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

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

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

تحتسب Routes API رسوم العبور المقدَّرة، مع مراعاة أي خصومات أو تصاريح على رسوم العبور متاحة للسائق أو المركبة، بالإضافة إلى طرق الدفع الأكثر ملاءمة. في حال عدم توفّر رسوم عبور لمسار معيّن، تشير 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
            }
          ]
        }
      }
    }
  ]
}