রুট গণনা (পুনরায় রাউটিং সহ) সেই রুটটি ফেরত দেয় যা ডিফল্ট সেরা রুট হিসাবে নেভিগেট করতে সর্বনিম্ন সময় নেয়। কিন্তু আপনি রাউটিং কৌশল পরিবর্তন করতে পারেন যাতে এর পরিবর্তে রুট বিকল্পগুলির সংক্ষিপ্তটি ফেরত দেওয়া হয়।
সংক্ষিপ্ত শব্দের অর্থ আমাদের ডিফল্ট খরচ মডেলের উপর ভিত্তি করে সর্বোত্তম রুটের মধ্যে সবচেয়ে ছোট রুট। সংক্ষিপ্ত রুটটি পরম সংক্ষিপ্ততম রুট নাও হতে পারে, কারণ সেই বিকল্পটি একটি দুর্বল বিকল্প হতে পারে। উদাহরণস্বরূপ, যদি পরম সংক্ষিপ্ততম রুটটি 10 কিমি হয় এবং নেভিগেট করতে 50 মিনিট সময় নেয় এবং অন্য একটি রুটটি 15 কিলোমিটার হয়, কিন্তু নেভিগেট করতে মাত্র 20 মিনিট সময় নেয়, তবে দ্বিতীয় পছন্দটি সর্বোত্তম, কারণ পাঁচ কিলোমিটার কমাতে 30 মিনিট ব্যয় করা একটি নয় ভাল বাণিজ্য বন্ধ.
একবার আপনি একটি ট্রিপের জন্য রাউটিং কৌশল সেট করলে, ট্রিপ সম্পূর্ণ না হওয়া পর্যন্ত এটি পরিবর্তন হবে না। একটি বিদ্যমান ট্রিপের জন্য রাউটিং কৌশল পরিবর্তন করতে, আপনাকে অবশ্যই গন্তব্যগুলি সাফ করতে হবে এবং নতুন রাউটিং কৌশল দিয়ে পুনরায় সেট করতে হবে৷
রুটের বিবরণ পাওয়া যাচ্ছে
প্রদত্ত ওয়েপয়েন্টের জন্য কোন রুট কৌশলটি সর্বোত্তম পছন্দ তা নির্ধারণ করতে, ডিফল্ট সেরা রুট এবং নিখুঁত ছোট রুট উভয়ের জন্য রুটের বিবরণ পেতে getRouteInfoForDestination()
কল করুন। বিশদ বিবরণের মধ্যে সময়কাল এবং গন্তব্যের পথের দূরত্ব অন্তর্ভুক্ত।
এই বিবরণগুলি কলব্যাকে GMSNavigationRouteInfo
থেকে আসে৷
উদাহরণ
নিম্নলিখিত কোড উদাহরণটি দেখায় কিভাবে দুটি রাউটিং কৌশলগুলির প্রতিটির জন্য রুটের বিবরণ পেতে হয়।
সুইফট
let routingOptions = GMSNavigationRoutingOptions()
navigator?.getRouteInfoForDestination(destination,
routingOptions: routingOptions) { routeInfo in
...
}
উদ্দেশ্য-C
GMSNavigationRoutingOptions *routingOptions =
[[GMSNavigationRoutingOptions alloc] init];
[navigator getRouteInfoForDestination:destination
withRoutingOptions:routingOptions
callback:^(GMSNavigationRouteInfo *routeInfo){...}];
রাউটিং কৌশল নির্ধারণ করা
আপনি GMSNavigationRoutingOptions
ব্যবহার করে রাউটিং কৌশল কনফিগার করতে পারেন এবং setDestinations()
কল করার সময় routingStrategy
সেট করতে পারেন।
routingStrategy
নিম্নলিখিত গণনার মানগুলির মধ্যে একটি নেয়:
গণনা মান | বর্ণনা |
---|---|
GMSNavigationRouting StrategyDefaultBest | নেভিগেশন SDK ডিফল্ট খরচ মডেল দ্বারা রুট র্যাঙ্ক. এটি ডিফল্ট রাউটিং কৌশল। |
GMSNavigationRouting Strategy Shorter | দূরত্ব অনুসারে রুটগুলিকে রেঙ্ক করে। ফেরত আসাদের মধ্যে সর্বোচ্চ র্যাঙ্কিং রুটটি সবচেয়ে ছোট। |
উদাহরণ
নিম্নোক্ত কোড উদাহরণ দেখায় কিভাবে সংক্ষিপ্ত রুট রাউটিং কৌশল সেট করতে হয়।
সুইফট
let routingOptions = GMSNavigationRoutingOptions(routingStrategy: .shorter)
navigator?.setDestinations(destinations,
routingOptions: routingOptions) { routeStatus in
...
}
উদ্দেশ্য-C
GMSNavigationRoutingOptions *routingOptions = [[GMSNavigationRoutingOptions alloc] initWithRoutingStrategy:GMSNavigationRoutingStrategyShorter];
[navigator setDestinations:destinations
routingOptions:routingOptions
callback:^(GMSRouteStatus routeStatus){...}];
ফেরি অন্তর্ভুক্ত রুট
ডিফল্টরূপে, iOS-এর জন্য নেভিগেশন SDK ফেরিগুলি অন্তর্ভুক্ত করে এমন রুটগুলি বাদ দেয়৷ আপনি যদি আপনার রুটের অংশ হিসাবে ফেরি বিকল্পগুলিকে অন্তর্ভুক্ত করতে পছন্দ করেন, তাহলে আপনি avoidsFerries
false
সেট করে ফেরি বিভাগে ট্রিপ প্রকাশ করতে এই রাউটিং পছন্দকে সামঞ্জস্য করতে পারেন।
উদাহরণ
সুইফট
self.mapView.navigator?.avoidsFerries = false
উদ্দেশ্য-C
self.mapView.navigator.avoidsFerries = NO
রুট কলআউট বিন্যাস
সংক্ষিপ্ত রুট রাউটিং কৌশলের অধীনে, রুট বরাবর কলআউট দূরত্বের বিবরণ প্রদর্শন করে। কিন্তু আপনি এর পরিবর্তে ETA কলআউট ব্যবহার করতে পারেন।
রুট কলআউট বিন্যাস কনফিগার করা হচ্ছে
আপনি GMSMapView
এ routeCalloutFormat
সেট করে রুট কলআউট বিন্যাস পরিবর্তন করতে পারেন। routeCalloutFormat
নিম্নলিখিত গণনার মানগুলির মধ্যে একটি নেয়:
গণনা মান | বর্ণনা |
---|---|
GMSNavigationRouteCalloutFormatDefault | ডিফল্ট সেরা রুট রাউটিং কৌশল ব্যবহার করার সময় অবশিষ্ট সময় প্রদর্শন করে। সংক্ষিপ্ত রুট রাউটিং কৌশল ব্যবহার করার সময় অবশিষ্ট দূরত্ব প্রদর্শন করে |
GMSNavigationRouteCallout FormatTime | অবশিষ্ট সময় প্রদর্শন করে। |
GMSNavigationRouteCallout FormatDistance | D ডিসপ্লে বাকি দূরত্ব. |
উদাহরণ
নিম্নলিখিত কোড উদাহরণটি দেখায় কিভাবে রুট কলআউট বিন্যাস কনফিগার করতে হয়।
সুইফট
self.mapView.routeCalloutFormat = .time
উদ্দেশ্য-C
_mapView.routeCalloutFormat = GMSNavigationRouteCalloutFormatTime;