محاسبات مسیر (شامل تغییر مسیر) مسیری را که کمترین زمان پیمایش را دارد، به عنوان بهترین مسیر پیشفرض برمیگرداند. اما میتوانید استراتژی مسیریابی را تغییر دهید تا کوتاهترین مسیر از بین مسیرهای جایگزین، به جای آن برگردانده شود.
اصطلاح کوتاهتر به مسیری اطلاق میشود که بر اساس مدل هزینه پیشفرض ما، کوتاهترین مسیر در بین مسیرهای بهینه باشد. مسیر کوتاهتر ممکن است کوتاهترین مسیر مطلق نباشد، زیرا آن گزینه ممکن است جایگزین ضعیفی باشد. به عنوان مثال، اگر کوتاهترین مسیر مطلق ۱۰ کیلومتر باشد و پیمایش آن ۵۰ دقیقه طول بکشد و مسیر دیگری ۱۵ کیلومتر باشد، اما پیمایش آن فقط ۲۰ دقیقه طول بکشد، انتخاب دوم بهینه است، زیرا صرف ۳۰ دقیقه برای کاهش پنج کیلومتر، معامله خوبی نیست.
وقتی استراتژی مسیریابی را برای یک سفر تنظیم میکنید، تا زمان اتمام سفر تغییر نخواهد کرد. برای تغییر استراتژی مسیریابی برای یک سفر موجود، باید مقصدها را پاک کنید و دوباره آنها را با استراتژی مسیریابی جدید تنظیم مجدد کنید.
تنظیم استراتژی مسیریابی
شما میتوانید استراتژی مسیریابی را با تنظیم RoutingOptions.routingStrategy هنگام فراخوانی setDestinations() پیکربندی کنید.
RoutingOptions.routingStrategy یکی از مقادیر شمارشی زیر را میگیرد:
| مقدار شمارشی | توضیحات |
|---|---|
| بهترین حالت پیشفرض در استراتژی مسیریابی | مسیرها را بر اساس مدل هزینه پیشفرض Navigation SDK رتبهبندی میکند. این استراتژی مسیریابی پیشفرض است. |
| استراتژی مسیریابی. کوتاهتر | مسیرها را بر اساس فاصله رتبهبندی میکند. بالاترین رتبه، کوتاهترین مسیر از بین مسیرهای برگشتی است. |
مثال
مثال کد زیر نحوه تنظیم اولویت مسیر کوتاهتر را نشان میدهد.
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);
قالب راهنمای مسیر
در حالت مسیر کوتاهتر، راهنماهای مسیر، جزئیات مسافت را نشان میدهند. اما میتوانید به جای آن از راهنماهای ETA استفاده کنید.
پیکربندی قالب راهنمای مسیر
میتوانید قالب فراخوانی مسیر را با فراخوانی setRouteCalloutInfoFormat در NavigationView (یا در NavigationFragment ) تغییر دهید. setRouteCalloutInfoFormat یکی از مقادیر شمارشی زیر را میگیرد:
| مقدار شمارشی | توضیحات |
|---|---|
| قالب اطلاعات مسیر (RouteCalloutInfoFormat.DEFAULT) | نمایش زمان باقیمانده هنگام استفاده از بهترین استراتژی مسیریابی پیشفرض. نمایش مسافت باقیمانده هنگام استفاده از کوتاهترین استراتژی مسیریابی. |
| قالب اطلاعات مسیر (RouteCalloutInfoFormat.TIME) | زمان باقی مانده را نمایش میدهد. |
| قالب اطلاعات مسیر.فاصله | نمایش مسافت باقی مانده |
مثال
مثال کد زیر نحوه پیکربندی قالب فراخوانی مسیر را نشان میدهد.
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);