ضبط الإعدادات المفضّلة للتوجيه

تؤدي عمليات احتساب المسارات (بما في ذلك إعادة التوجيه) إلى عرض المسار الذي يستغرق أقصر وقت للتنقّل كـ أفضل مسار تلقائي. ولكن يمكنك تغيير استراتيجية التوجيه بحيث يتم عرض أقصر المسارات البديلة بدلاً من ذلك.

يشير مصطلح أقصر إلى المسار الأقصر بين المسارات المثلى، وذلك استنادًا إلى نموذج التكلفة التلقائي. قد لا يكون المسار الأقصر هو الأكثر اختصارًا ، لأنّ هذا الخيار قد يكون بديلاً غير مناسب. على سبيل المثال، إذا كان المسار الأقصر على الإطلاق هو 10 كيلومتر ويستغرق 50 دقيقة للتنقّل، وكان المسار الآخر هو 15 كيلومترًا، ولكن يستغرق 20 دقيقة فقط للتنقّل، فإنّ الخيار الثاني هو الأمثل، لأنّ إنفاق 30 دقيقة لتقليل المسافة بمقدار 5 كيلومترات ليس خيارًا جيدًا.

بعد ضبط استراتيجية التوجيه لرحلة معيّنة، لن تتغيّر إلى أن تتم الرحلة. لتغيير استراتيجية التوجيه لرحلة حالية، عليك محو الوجهات وإعادة ضبطها مرة أخرى باستخدام استراتيجية التوجيه الجديدة.

الحصول على تفاصيل المسار

لتحديد استراتيجية المسار التي تشكّل الخيار الأمثل لنقطة اتّجاه معيّنة، اتصل على getRouteInfo() للحصول على تفاصيل المسار لكلّ من أفضل مسار تلقائي والمسار الأقصر. تشمل التفاصيل المدة والمسافة إلى نقطة مسار في الوجهة.

تأتي هذه التفاصيل من RouteInfo، ويتم عرضها في ملف ListenableResultFuture.

مثال

يوضّح مثال الرمز البرمجي التالي كيفية الحصول على تفاصيل المسار لكلّ من استراتيجيتَي التوجيه.

ListenableResultFuture<RouteInfo> routeInfoFuture =
        navigator.getRouteInfo(waypoint, routingOptions);

ضبط استراتيجية التوجيه

يمكنك ضبط استراتيجية التوجيه من خلال ضبط RoutingOptions.routingStrategy عند الاتصال بالرقم setDestinations().

يأخذ RoutingOptions.routingStrategy إحدى قيم التعداد التالية:

قيمة التعدادالوصف
RoutingStrategy.DEFAULT_BEST ترتيب المسارات حسب نموذج التكلفة التلقائي لحزمة تطوير البرامج (SDK) للتنقّل هذه هي استراتيجية التوجيه التلقائية.
RoutingStrategy.SHORTER ترتيب المسارات حسب المسافة المسار الأعلى ترتيبًا هو أقصر المسارات التي يتم عرضها.

مثال

يوضّح مثال الرمز البرمجي التالي كيفية ضبط المسار الأقصر.

RoutingOptions routingOptions = new RoutingOptions();
routingOptions.routingStrategy(RoutingStrategy.SHORTER);
navigator.setDestinations(destinations, routingOptions, displayOptions);

المسارات التي تتضمّن العبّارات

تستبعد حزمة NavSDK تلقائيًا المسارات التي تتضمّن العبّارات. إذا كنت تفضّل تضمين خيارات العبّارات كجزء من مسارات رحلاتك، يمكنك تعديل إعدادات التوجيه المفضّلة هذه لعرض الرحلة على أقسام العبّارات من خلال ضبط قيمة avoidFerries على false.

مثال

RoutingOptions routingOptions = new RoutingOptions().avoidFerries(true);
// Add additional routing preferences
navigator.setDestination(destination, routingOptions);

تنسيق نص الوصف للمسار

ضمن الإعداد المفضّل للمسار الأقصر، تعرض التعليقات التوضيحية على طول المسار تفاصيل المسافة. ولكن يمكنك استخدام وسائل الشرح المتعلّقة بالوقت المقدَّر للوصول بدلاً من ذلك.

ضبط تنسيق نص الوصف للمسار

يمكنك تغيير تنسيق نصائح المسار من خلال استدعاء setRouteCalloutInfoFormat في NavigationView (أو في NavigationFragment). يقبل setRouteCalloutInfoFormat إحدى قيم التعداد التالية:

قيمة التعدادالوصف
RouteCalloutInfoFormat.DEFAULT تعرِض هذه السمة الوقت المتبقّي عند استخدام استراتيجية توجيه مسار التحسين التلقائية. تعرِض هذه السمة المسافة المتبقية عند استخدام استراتيجية توجيه المسار الأقصر.
RouteCalloutInfoFormat.TIME تعرِض هذه البطاقة الوقت المتبقّي.
RouteCalloutInfoFormat.DISTANCE تعرِض هذه البطاقة المسافة المتبقية.

مثال

يوضّح مثال الرمز البرمجي التالي كيفية ضبط تنسيق callout للمسار.

mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);