التنقّل على طرق المركبات الكبيرة

الفئة المستهدَفة من هذا الدليل: يُرجى قراءة هذا الدليل إذا كنت مطوّر تطبيقات للأجهزة الجوّالة مسؤولاً عن إنشاء تجربة اتجاهات مفصّلة لسائقي الشاحنات أو الحافلات أو غيرها من المركبات التجارية الكبيرة.

محتوى هذا الدليل: يوضّح هذا الدليل كيفية استخدام مسار مخصّص للشاحنات تم إنشاؤه بواسطة Routes API أو Route Optimization API لتفعيل جلسة اتجاهات مفصّلة باستخدام Navigation SDK لنظام التشغيل Android.

أهداف الدورة التعليمية

ستتعرّف على كيفية تنفيذ المهام التالية:

  • استخدِم routeToken لربط تخطيط المسار في الخلفية بتجربة التنقّل داخل التطبيق.
  • ضبط Navigation SDK لاستخدام مسار شاحنة مُخطَّط له مسبقًا
  • التعرّف على كيفية ظهور القيود المفروضة على الشاحنات للسائق في واجهة مستخدم نظام الملاحة

المتطلبات الأساسية

قبل البدء، تأكَّد من استيفاء المتطلبات التالية:

1. طلب إذن الوصول إلى مشروعك

تتوفّر خدمة توجيه المركبات الكبيرة لمجموعة محدودة من العملاء. لإبداء اهتمامك وطلب الوصول إلى مشروعك على Google Cloud، يُرجى ملء نموذج التواصل. سيتواصل معك أحد ممثّلي Google لإعلامك بالخطوات التالية.

بعد أن تمنحك Google إذن الوصول، تأكَّد من توفير مشروعك على Google Cloud لخدمة "تحديد مسار المركبات الكبيرة".

إذا كانت مؤسستك تستخدم مشاريع منفصلة على Google Cloud لواجهات برمجة التطبيقات الخاصة بتوجيه الخلفية وحزمة تطوير البرامج (SDK) الخاصة بخدمة "خرائط Google" على الأجهزة الجوّالة، يُرجى التواصل مع Google لتوفير كل مشروع.

2. إعداد إنشاء مسار الخلفية والحصول على رمز مميّز للمسار

قبل بدء التنقّل على الجهاز، يجب أن ينشئ خادم الخلفية مسارًا للشاحنة ويحصل على routeToken باستخدام إحدى واجهات برمجة التطبيقات التالية:

يجب أن يحدّد طلب الخلفية travelMode: TRUCK بالإضافة إلى السمات المادية للمركبة (الارتفاع والعرض والطول والوزن وعدد المحاور وشحنة المواد الخطرة). تعرض واجهة برمجة التطبيقات الخاصة بالتوجيه routeToken في ردّها، والذي يمرّره خادم الخلفية إلى تطبيقك على الجهاز الجوّال.

3- استيفاء الحد الأدنى من متطلبات حزمة تطوير البرامج (SDK) ومتطلبات النظام

يجب أن يستخدم تطبيقك الحد الأدنى المطلوب من إصدار حزمة تطوير البرامج (SDK) لخدمة Navigation 5.2.0 أو إصدارًا أحدث.

بالإضافة إلى ذلك، يجب أن يستوفي مشروعك متطلبات الإعداد القياسية لحزمة تطوير البرامج (SDK) الخاصة بخدمة Navigation.

القيود والإرشادات التشغيلية

قبل البدء، يُرجى الانتباه إلى القيود والإرشادات التشغيلية التالية:

  • التوفّر الجغرافي: تتوفّر ميزة توجيه المركبات الكبيرة في الولايات المتحدة المتجاورة الـ 48 (متاحة بشكل عام) واليابان (تجريبية). لا تتوفّر هذه الخدمة في ألاسكا أو هاواي أو الأقاليم التابعة للولايات المتحدة.
  • إرشادات السائق والسلامة: يجب ألا يعتمد السائقون بشكل كامل على المسارات التي تعرضها Navigation SDK لضمان السلامة أو الالتزام بالقانون. قد لا تكون المسارات مناسبة للمركبة في جميع ظروف الطريق، وقد يؤدي اتّباعها إلى تعريض السائقين لمخاطر، مثل الطرق التي لا تسمح بمرور المركبات المرتفعة أو الطرق التي تفرض قيودًا على الوزن. على السائقين أن يكونوا دائمًا في حالة انتباه وأن يلتزموا بإشارات الطرق واللوائح المحلية.
  • مسارات أفضل جهد: عندما يتعذّر على واجهة برمجة التطبيقات الخاصة بتحديد أفضل مسار العثور على مسار يتوافق تمامًا مع القيود المفروضة على المركبات، تعرض مسارًا يتضمّن "أفضل جهد" قد يمرّ بقطاعات محظورة. على سبيل المثال، تضبط واجهة Routes API العلامة routeRestrictionsPartiallyIgnored في ردّها. عند التنقّل على هذه المسارات، تعرض حزمة تطوير البرامج (SDK) الخاصة بخدمة Navigation وسيلة شرح للمسار لتسليط الضوء على القيود ذات الصلة. لذا، ننصحك بالتخطيط للمسارات بعناية في هذه الحالات وعدم استخدام مسار تم الإبلاغ عنه كمصدر وحيد للحقيقة عند التخطيط أو التنقّل.
  • الميزات غير المتوافقة: لا تتيح ميزة "تحديد مسارات المركبات الكبيرة" استخدام الميزات التالية:
    • أسعار رسوم عبور الشاحنات
    • حدود السرعة الخاصة بالشاحنات أو المركبات الثقيلة
    • تحديد مسار المواد الخطرة المشعّة
  • حدود الاستخدام: تخضع الطلبات المقدَّمة إلى Navigation SDK لحدود الاستخدام والحصة العادية. لمزيد من المعلومات، يُرجى الاطّلاع على الاستخدام والفوترة.

عرض واجهة مستخدم مخصّصة للشاحنات (وسائل شرح المسار)

تعرض حزمة تطوير البرامج (SDK) الخاصة بخدمة Navigation تلقائيًا تحذيرات مرئية، تُعرف باسم وسائل شرح المسار، على الخريطة لتنبيه السائقين إلى القيود القادمة على الشاحنات. تظهر التحذيرات المرئية أو الصوتية للقيود التي تحدث على طول المسار المخطّط له، ولكنّها لا تظهر على الطرق الأخرى القريبة.

تتضمّن حزمة تطوير البرامج للتنقّل وسيلة شرح للقيود التالية:

القيود رمز وسيلة الشرح ونصّها شروط العرض
الارتفاع رمز قيود الارتفاع باللون الأصفر
أصفر = تحذير، مركبتك قريبة من الحد الأقصى للارتفاع المسموح به
رمز قيود الارتفاع باللون الأحمر
أحمر = مركبتك أعلى من الحد الأقصى للارتفاع المسموح به
يظهر وسيلة شرح صفراء عندما يكون ارتفاع المركبة قريبًا من الحدّ الأقصى المسموح به.
خريطة تعرض تحذيرًا بشأن قيود الارتفاع
يظهر وسيلة شرح حمراء إذا كان المسار غير متوافق وينتهك قيود الارتفاع.
خريطة تعرض مخالفة القيود المتعلقة بالارتفاع
الوزن رمز قيود الوزن يظهر وسيلة شرح حمراء عندما يتجاوز وزن المركبة الحدّ المسموح به على الطريق.
خريطة تعرض رمزًا يشير إلى قيود الوزن
يُحظر مرور الشاحنات رمز يشير إلى عدم السماح بالشاحنات يظهر وسيلة شرح حمراء عند التنقّل على جزء من طريق تفرض قيودًا على الشاحنات التجارية.
خريطة تعرض رمزًا يشير إلى عدم السماح بالشاحنات
السلع الخطِرة رمز السلع الخطرة يظهر تنبيه أحمر عندما يكون نقل المواد الخطرة بالمركبة محظورًا على جزء من الطريق.
خريطة تعرض رمزًا للسلع الخطرة

طريقة عمل رموز المسار

routeToken هي لقطة مشفّرة لمسار أنشأها نظام الخلفية الخاص بخدمة التوجيه من Google. وهي تتضمّن شكل المسار المخطّط له بالإضافة إلى الأبعاد المادية للمركبة وملف القيود.

تتضمّن سير العمل الخطوات التالية:

  1. طلب مسار: يطلب خادم الخلفية مسارًا لشاحنة من Routes API (أو Route Optimization API).
  2. تلقّي الرمز المميز: تحتسب واجهة Routing API المسار المتوافق وتعرض routeToken لخادم الخلفية.
  3. الرمز المميّز المُعاد توجيهه: يمرِّر خادم الخلفية الرمز routeToken وإحداثيات الوجهة إلى تطبيقك على الأجهزة الجوّالة.
  4. إرسال إلى حزمة تطوير البرامج (SDK): يرسل تطبيق الأجهزة الجوّالة routeToken إلى Navigation SDK.
  5. بدء التوجيه: يتولّى Navigation SDK جميع جوانب تجربة اتّجاهات مفصّلة، بما في ذلك عرض وسائط شرح المسار والتعامل مع تغيير المسار الديناميكي وفقًا لقيود المركبة.

إعادة الحساب وتغيير المسار بشكلٍ ديناميكي

أثناء التنقّل النشط، قد تؤدي أحوال حركة المرور أو إغلاقات الطرق أو المنعطفات الفائتة إلى انحراف المركبة عن المسار المخطط له.

عند حدوث إعادة التوجيه:

  • تعيد حزمة تطوير البرامج للتنقّل احتساب المسار إلى الوجهة تلقائيًا.
  • تحتفظ حزمة تطوير البرامج (SDK) بسمات المركبة وأبعادها المرمّزة في routeToken الأصلية.
  • يتجنّب المسار الذي تمت إعادة حسابه حديثًا المناطق التي لا تسمح بمرور المركبات المرتفعة والجسور التي لا تسمح بمرور المركبات الثقيلة والطرق المحظورة على الشاحنات التجارية.

التنفيذ: بدء رحلة خاصة بالشاحنات

اتّبِع الخطوات التالية لتهيئة ميزة "الاتجاهات المفصّلة" وبدء استخدامها باستخدام رمز مميّز لمسار مركبة كبيرة.

الخطوة 1: الحصول على رمز المسار من الخلفية

يتلقّى تطبيقك على الأجهزة الجوّالة السلسلة routeToken بالإضافة إلى إحداثيات الوجهة من خادم الخلفية. للحصول على تفاصيل حول إنشاء الرمز المميّز على الخادم، يُرجى الاطّلاع على إنشاء مسارات ووقت تقديري للوصول للمركبات الكبيرة في مستندات Routes API.

في ما يلي مثال على رمز مميّز للمسار:

{
  "routeToken": "CqMBCjoKCJQOor5DHcwiEhBon3XpHXFnVvDeWMwd9PpAGgz6wtnFDKIBrAHTARpCApUDSggAAAAACjcrP3gBEAQaTApKChgKDQoCCAERAAAAAACAZkAR3SQGgZUXdUASEggAEAMQBhATEBIYAkIEGgIIBSIYChZ2VEJiWlBPSkk1aU5wUVRzNTV5d0FRKAEiFQBcJuds-Efh-2QZhOMTtUCCxEVL_g"
}

الخطوة 2: ضبط CustomRoutesOptions

مرِّر الرمز المميز للمسار إلى مثيل CustomRoutesOptions باستخدام CustomRoutesOptions.builder:

  • مرِّر الرمز المميّز باستخدام setRouteToken(routeToken).
  • اضبط وضع السفر باستخدام setTravelMode(CustomRoutesOptions.TravelMode.DRIVING).

الخطوة 3: تحديد نقاط الطريق وضبط الوجهات

مرِّر نقاط الطريق الخاصة بوجهتك وCustomRoutesOptions إلى navigator.setDestinations.

عند ضبط نقاط المرور وتمرير خيارات مسار مخصّصة، يجب مراعاة ما يلي:

  • متطلبات مطابقة الوجهة: يجب أن تتطابق إحداثيات الوجهة التي تم تمريرها إلى setDestinations مع إحداثيات الوجهة المستخدَمة عند إنشاء routeToken. يؤدي تحديد وجهة مختلفة إلى حدوث خطأ.
  • تحديد المسار على جانب الطريق: لا يمكن للمركبات التجارية الكبيرة أن تنعطف بسهولة على شكل حرف U في الشوارع الضيقة. لضمان اقتراب الشاحنة من الوجهة على الجانب الصحيح من الطريق، استخدِم setPreferSameSideOfRoad(true) في نقاط الطريق.
  • محطات توقّف المركبات: لتوجيه الشاحنة إلى موقع مناسب للتوقّف أو التفريغ، اتّصِل بـ setVehicleStopover(true) في نقاط الطريق.
  • نقاط التنقّل: إذا كانت وجهتك تتضمّن مدخلاً مخصّصًا للشحن أو رصيف تحميل، حدِّده باستخدام رمز نقطة التنقّل.

الخطوة 4: التعامل مع حالة المسار وبدء الإرشادات

سجِّل OnResultListener على ListenableResultFuture<Navigator.RouteStatus>. عندما تكون حالة المسار OK، اتّصِل بـ navigator.startGuidance لبدء التنقّل النشط باستخدام الاتجاهات المفصّلة.

مثال على الرمز

استخدِم CustomRoutesOptions.builder لضبط الرمز المميّز ثم مرِّره إلى navigator.setDestinations.

// Obtain the routeToken string from your backend
val routeToken = "route token returned by Routes API"

val customRoutesOptions = CustomRoutesOptions.builder()
    .setRouteToken(routeToken)
    .setTravelMode(TravelMode.DRIVING)
    .build()

// Specify the same destination used to create the route token
ArrayList <Waypoint> destinations = Lists.newArrayList();
val destination = Waypoint.builder()
    .setLatLng(10.0, 20.0)
    .setTitle("title")
    .setVehicleStopover(true)
    .build()
destinations.add(destination);

navigator.setDestinations(destinations, customRoutesOptions)

الشاشات داخل المركبة

يمكنك عرض جلسة التنقّل في المركبات الكبيرة على شاشات داخل لوحة القيادة باستخدام التنقّل في Android Auto.

الخطوات التالية

  • تعديل واجهة مستخدم التنقّل: يمكنك تخصيص عناصر التحكّم المضمّنة في واجهة المستخدم والعناصر المرئية، مثل البوصلة وزر إعادة التوسيط ومنظور الكاميرا.
  • الاستماع إلى أحداث التنقّل: يمكنك التعامل مع تعديلات التنقّل وأحداث مراحل النشاط، مثل تقدّم المسار والتغييرات في الوقت المقدر للوصول وإعادة التوجيه.