রাউটিং পছন্দগুলি সামঞ্জস্য করা

রুট গণনার (পুনরায় রুট করা সহ) ফলে ডিফল্ট সেরা রুট হিসেবে সেই রুটটিই ফেরত আসে, যেটিতে যেতে সবচেয়ে কম সময় লাগে। কিন্তু আপনি রাউটিং কৌশল পরিবর্তন করে বিকল্প রুটগুলোর মধ্যে থেকে সংক্ষিপ্ততম রুটটিকেও ফেরত পেতে পারেন।

'সংক্ষিপ্ততর' বলতে আমাদের ডিফল্ট ব্যয় মডেলের উপর ভিত্তি করে সর্বোত্তম পথগুলোর মধ্যে সবচেয়ে সংক্ষিপ্ত পথটিকে বোঝায়। সংক্ষিপ্ততর পথটি পরম সংক্ষিপ্ততম পথ নাও হতে পারে, কারণ সেই বিকল্পটি একটি দুর্বল বিকল্প হতে পারে। উদাহরণস্বরূপ, যদি পরম সংক্ষিপ্ততম পথটি ১০ কিমি হয় এবং তা অতিক্রম করতে ৫০ মিনিট সময় লাগে, এবং অন্য একটি পথ ১৫ কিমি হলেও তা অতিক্রম করতে মাত্র ২০ মিনিট সময় লাগে, তবে দ্বিতীয় পছন্দটিই সর্বোত্তম, কারণ পাঁচ কিমি দূরত্ব কমানোর জন্য ৩০ মিনিট ব্যয় করা একটি ভালো বিনিময় নয়।

একবার কোনো ট্রিপের জন্য রাউটিং কৌশল সেট করলে, ট্রিপটি সম্পূর্ণ না হওয়া পর্যন্ত তা পরিবর্তন হবে না। চলমান কোনো ট্রিপের রাউটিং কৌশল পরিবর্তন করতে হলে, আপনাকে গন্তব্যগুলো মুছে ফেলে নতুন রাউটিং কৌশল দিয়ে আবার নতুন করে সেট করতে হবে।

রাউটিং কৌশল নির্ধারণ করা

setDestinations() কল করার সময় RoutingOptions.routingStrategy সেট করে আপনি রাউটিং কৌশল কনফিগার করতে পারেন।

RoutingOptions.routingStrategy নিম্নলিখিত এনুমারেশন মানগুলির মধ্যে একটি গ্রহণ করে:

গণনার মান বর্ণনা
রাউটিং কৌশল.ডিফল্ট_সেরা নেভিগেশন এসডিকে-এর ডিফল্ট কস্ট মডেল অনুসারে রুটগুলোকে র‍্যাঙ্ক করে। এটিই ডিফল্ট রাউটিং কৌশল।
রাউটিং কৌশল.শর্টার দূরত্ব অনুসারে রুটগুলোকে র‍্যাঙ্ক করা হয়। ফেরত আসা রুটগুলোর মধ্যে সবচেয়ে ছোটটিই সর্বোচ্চ র‍্যাঙ্কের রুট।

উদাহরণ

নিম্নলিখিত কোড উদাহরণটি দেখায় কিভাবে সংক্ষিপ্ত পথের পছন্দ নির্ধারণ করতে হয়।

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) নির্দেশক চিহ্নগুলোও ব্যবহার করতে পারেন।

রাউট কলআউট ফরম্যাট কনফিগার করা

আপনি NavigationView (বা NavigationFragment )-এ setRouteCalloutInfoFormat কল করে রাউট কলআউট ফরম্যাট পরিবর্তন করতে পারেন। setRouteCalloutInfoFormat নিম্নলিখিত এনুমারেশন মানগুলির মধ্যে একটি গ্রহণ করে:

গণনার মান বর্ণনা
RouteCalloutInfoFormat.DEFAULT ডিফল্ট সেরা রুট রাউটিং কৌশল ব্যবহার করার সময় অবশিষ্ট সময় প্রদর্শন করে। সংক্ষিপ্ততম রুট রাউটিং কৌশল ব্যবহার করার সময় অবশিষ্ট দূরত্ব প্রদর্শন করে।
RouteCalloutInfoFormat.TIME অবশিষ্ট সময় প্রদর্শন করে।
RouteCalloutInfoFormat.DISTANCE অবশিষ্ট দূরত্ব প্রদর্শন করে।

উদাহরণ

নিম্নলিখিত কোড উদাহরণটি দেখায় কিভাবে রাউট কলআউট ফরম্যাট কনফিগার করতে হয়।

mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);