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

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

সংক্ষিপ্ত শব্দের অর্থ আমাদের ডিফল্ট খরচ মডেলের উপর ভিত্তি করে সর্বোত্তম রুটের মধ্যে সবচেয়ে ছোট রুট। সংক্ষিপ্ত রুটটি পরম সংক্ষিপ্ততম রুট নাও হতে পারে, কারণ সেই বিকল্পটি একটি দুর্বল বিকল্প হতে পারে। উদাহরণস্বরূপ, যদি পরম সংক্ষিপ্ততম রুটটি 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 কলআউট ব্যবহার করতে পারেন।

রুট কলআউট বিন্যাস কনফিগার করা হচ্ছে

আপনি GMSMapViewrouteCalloutFormat সেট করে রুট কলআউট বিন্যাস পরিবর্তন করতে পারেন। routeCalloutFormat নিম্নলিখিত গণনার মানগুলির মধ্যে একটি নেয়:

গণনা মান বর্ণনা
GMSNavigationRouteCalloutFormatDefault ডিফল্ট সেরা রুট রাউটিং কৌশল ব্যবহার করার সময় অবশিষ্ট সময় প্রদর্শন করে। সংক্ষিপ্ত রুট রাউটিং কৌশল ব্যবহার করার সময় অবশিষ্ট দূরত্ব প্রদর্শন করে
GMSNavigationRouteCallout FormatTime অবশিষ্ট সময় প্রদর্শন করে।
GMSNavigationRouteCallout FormatDistance D ডিসপ্লে বাকি দূরত্ব.

উদাহরণ

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

সুইফট

self.mapView.routeCalloutFormat = .time

উদ্দেশ্য-C

_mapView.routeCalloutFormat = GMSNavigationRouteCalloutFormatTime;