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