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