রুট গণনা (পুনরায় রাউটিং সহ) সেই রুটটি ফেরত দেয় যা ডিফল্ট সেরা রুট হিসাবে নেভিগেট করতে সর্বনিম্ন সময় নেয়। কিন্তু আপনি রাউটিং কৌশল পরিবর্তন করতে পারেন যাতে এর পরিবর্তে রুট বিকল্পগুলির সংক্ষিপ্তটি ফেরত দেওয়া হয়।
সংক্ষিপ্ত শব্দের অর্থ আমাদের ডিফল্ট খরচ মডেলের উপর ভিত্তি করে সর্বোত্তম রুটের মধ্যে সবচেয়ে ছোট রুট। সংক্ষিপ্ত রুটটি পরম সংক্ষিপ্ততম রুট নাও হতে পারে, কারণ সেই বিকল্পটি একটি দুর্বল বিকল্প হতে পারে। উদাহরণস্বরূপ, যদি পরম সংক্ষিপ্ততম রুটটি 10 কিমি হয় এবং নেভিগেট করতে 50 মিনিট সময় নেয় এবং অন্য একটি রুটটি 15 কিলোমিটার হয়, কিন্তু নেভিগেট করতে মাত্র 20 মিনিট সময় নেয়, তবে দ্বিতীয় পছন্দটি সর্বোত্তম, কারণ পাঁচ কিলোমিটার কমাতে 30 মিনিট ব্যয় করা একটি নয় ভাল বাণিজ্য বন্ধ.
একবার আপনি একটি ট্রিপের জন্য রাউটিং কৌশল সেট করলে, ট্রিপ সম্পূর্ণ না হওয়া পর্যন্ত এটি পরিবর্তন হবে না। একটি বিদ্যমান ট্রিপের জন্য রাউটিং কৌশল পরিবর্তন করতে, আপনাকে অবশ্যই গন্তব্যগুলি সাফ করতে হবে এবং নতুন রাউটিং কৌশল দিয়ে পুনরায় সেট করতে হবে৷
রুটের বিবরণ পাওয়া যাচ্ছে
প্রদত্ত ওয়েপয়েন্টের জন্য কোন রুট কৌশলটি সর্বোত্তম পছন্দ তা নির্ধারণ করতে, ডিফল্ট সেরা রুট এবং নিখুঁত ছোট রুট উভয়ের জন্য রুটের বিবরণ পেতে getRouteInfo()
কল করুন। বিশদ বিবরণের মধ্যে সময়কাল এবং গন্তব্যের পথের দূরত্ব অন্তর্ভুক্ত।
এই বিবরণগুলি RouteInfo
থেকে আসে এবং একটি ListenableResultFuture
এ ফেরত দেওয়া হয়।
উদাহরণ
নিম্নলিখিত কোড উদাহরণটি দেখায় কিভাবে দুটি রাউটিং কৌশলগুলির প্রতিটির জন্য রুটের বিবরণ পেতে হয়।
ListenableResultFuture<RouteInfo> routeInfoFuture =
navigator.getRouteInfo(waypoint, routingOptions);
রাউটিং কৌশল নির্ধারণ করা
আপনি যখন setDestinations()
কল করেন তখন আপনি RoutingOptions.routingStrategy
সেট করে রাউটিং কৌশলটি কনফিগার করতে পারেন।
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);
রুট কলআউট বিন্যাস
সংক্ষিপ্ত রুট পছন্দের অধীনে, রুট বরাবর কলআউট দূরত্বের বিবরণ প্রদর্শন করে। কিন্তু আপনি এর পরিবর্তে ETA কলআউট ব্যবহার করতে পারেন।
রুট কলআউট বিন্যাস কনফিগার করা হচ্ছে
আপনি NavigationView
(বা NavigationFragment
) setRouteCalloutInfoFormat
কল করে রুট কলআউট ফর্ম্যাট পরিবর্তন করতে পারেন। setRouteCalloutInfoFormat
নিম্নলিখিত গণনার মানগুলির মধ্যে একটি নেয়:
গণনা মান | বর্ণনা |
---|---|
RouteCalloutInfoFormat.DEFAULT | ডিফল্ট সেরা রুট রাউটিং কৌশল ব্যবহার করার সময় অবশিষ্ট সময় প্রদর্শন করে। সংক্ষিপ্ত রুট রাউটিং কৌশল ব্যবহার করার সময় অবশিষ্ট দূরত্ব প্রদর্শন করে। |
RouteCalloutInfoFormat.TIME | অবশিষ্ট সময় প্রদর্শন করে। |
RouteCalloutInfoFormat.DISTANCE | অবশিষ্ট দূরত্ব প্রদর্শন করে। |
উদাহরণ
নিম্নলিখিত কোড উদাহরণটি দেখায় কিভাবে রুট কলআউট বিন্যাস কনফিগার করতে হয়।
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);
রুট গণনা (পুনরায় রাউটিং সহ) সেই রুটটি ফেরত দেয় যা ডিফল্ট সেরা রুট হিসাবে নেভিগেট করতে সর্বনিম্ন সময় নেয়। কিন্তু আপনি রাউটিং কৌশল পরিবর্তন করতে পারেন যাতে এর পরিবর্তে রুট বিকল্পগুলির সংক্ষিপ্তটি ফেরত দেওয়া হয়।
সংক্ষিপ্ত শব্দের অর্থ আমাদের ডিফল্ট খরচ মডেলের উপর ভিত্তি করে সর্বোত্তম রুটের মধ্যে সবচেয়ে ছোট রুট। সংক্ষিপ্ত রুটটি পরম সংক্ষিপ্ততম রুট নাও হতে পারে, কারণ সেই বিকল্পটি একটি দুর্বল বিকল্প হতে পারে। উদাহরণস্বরূপ, যদি পরম সংক্ষিপ্ততম রুটটি 10 কিমি হয় এবং নেভিগেট করতে 50 মিনিট সময় নেয় এবং অন্য একটি রুটটি 15 কিলোমিটার হয়, কিন্তু নেভিগেট করতে মাত্র 20 মিনিট সময় নেয়, তবে দ্বিতীয় পছন্দটি সর্বোত্তম, কারণ পাঁচ কিলোমিটার কমাতে 30 মিনিট ব্যয় করা একটি নয় ভাল বাণিজ্য বন্ধ.
একবার আপনি একটি ট্রিপের জন্য রাউটিং কৌশল সেট করলে, ট্রিপ সম্পূর্ণ না হওয়া পর্যন্ত এটি পরিবর্তন হবে না। একটি বিদ্যমান ট্রিপের জন্য রাউটিং কৌশল পরিবর্তন করতে, আপনাকে অবশ্যই গন্তব্যগুলি সাফ করতে হবে এবং নতুন রাউটিং কৌশল দিয়ে পুনরায় সেট করতে হবে৷
রুটের বিবরণ পাওয়া যাচ্ছে
প্রদত্ত ওয়েপয়েন্টের জন্য কোন রুট কৌশলটি সর্বোত্তম পছন্দ তা নির্ধারণ করতে, ডিফল্ট সেরা রুট এবং নিখুঁত ছোট রুট উভয়ের জন্য রুটের বিবরণ পেতে getRouteInfo()
কল করুন। বিশদ বিবরণের মধ্যে সময়কাল এবং গন্তব্যের পথের দূরত্ব অন্তর্ভুক্ত।
এই বিবরণগুলি RouteInfo
থেকে আসে এবং একটি ListenableResultFuture
এ ফেরত দেওয়া হয়।
উদাহরণ
নিম্নলিখিত কোড উদাহরণটি দেখায় কিভাবে দুটি রাউটিং কৌশলগুলির প্রতিটির জন্য রুটের বিবরণ পেতে হয়।
ListenableResultFuture<RouteInfo> routeInfoFuture =
navigator.getRouteInfo(waypoint, routingOptions);
রাউটিং কৌশল নির্ধারণ করা
আপনি যখন setDestinations()
কল করেন তখন আপনি RoutingOptions.routingStrategy
সেট করে রাউটিং কৌশলটি কনফিগার করতে পারেন।
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);
রুট কলআউট বিন্যাস
সংক্ষিপ্ত রুট পছন্দের অধীনে, রুট বরাবর কলআউট দূরত্বের বিবরণ প্রদর্শন করে। কিন্তু আপনি এর পরিবর্তে ETA কলআউট ব্যবহার করতে পারেন।
রুট কলআউট বিন্যাস কনফিগার করা হচ্ছে
আপনি NavigationView
(বা NavigationFragment
) setRouteCalloutInfoFormat
কল করে রুট কলআউট ফর্ম্যাট পরিবর্তন করতে পারেন। setRouteCalloutInfoFormat
নিম্নলিখিত গণনার মানগুলির মধ্যে একটি নেয়:
গণনা মান | বর্ণনা |
---|---|
RouteCalloutInfoFormat.DEFAULT | ডিফল্ট সেরা রুট রাউটিং কৌশল ব্যবহার করার সময় অবশিষ্ট সময় প্রদর্শন করে। সংক্ষিপ্ত রুট রাউটিং কৌশল ব্যবহার করার সময় অবশিষ্ট দূরত্ব প্রদর্শন করে। |
RouteCalloutInfoFormat.TIME | অবশিষ্ট সময় প্রদর্শন করে। |
RouteCalloutInfoFormat.DISTANCE | অবশিষ্ট দূরত্ব প্রদর্শন করে। |
উদাহরণ
নিম্নলিখিত কোড উদাহরণটি দেখায় কিভাবে রুট কলআউট বিন্যাস কনফিগার করতে হয়।
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);