रूटिंग प्राथमिकताएं एडजस्ट करें

रास्ते की गणना (फिर से रास्ता बताना शामिल है) वह रास्ता दिखाती है जिसे डिफ़ॉल्ट सबसे अच्छे रास्ते के रूप में नेविगेट करने में सबसे कम समय लगता है. हालाँकि, रूटिंग की रणनीति में बदलाव किया जा सकता है, ताकि दूसरे रास्ते की तुलना में कम अवधि के विकल्प को दिखाया जा सके.

छोटा शब्द का मतलब, उस रास्ते से है जो हमारे डिफ़ॉल्ट लागत मॉडल के हिसाब से, सबसे अच्छे रास्तों में से सबसे छोटा रास्ता है. हो सकता है कि छोटा रास्ता पूरा न हो, क्योंकि वह अच्छा विकल्प नहीं हो सकता. उदाहरण के लिए, अगर सबसे छोटा रास्ता 10 कि॰मी॰ है और नेविगेट करने में 50 मिनट लगते हैं और दूसरे रास्ते से 15 कि॰मी॰ दूर है, लेकिन नेविगेट करने में सिर्फ़ 20 मिनट लगते हैं, तो दूसरा विकल्प सबसे अच्छा होगा, क्योंकि पांच कि॰मी॰ कम करने के लिए 30 मिनट खर्च करना सही नहीं है.

यात्रा के लिए रूटिंग की रणनीति सेट करने के बाद, यात्रा पूरी होने तक इसमें बदलाव नहीं होगा. किसी मौजूदा यात्रा के लिए रूटिंग रणनीति बदलने के लिए, आपको मंज़िलों को साफ़ करना होगा और उन्हें नई रूटिंग रणनीति के साथ फिर से रीसेट करना होगा.

रास्ते की जानकारी लोड की जा रही है

यह तय करने के लिए कि किसी दिए गए वेपॉइंट के लिए कौनसी रास्ता रणनीति सबसे अच्छा विकल्प है, getRouteInfoForDestination() को कॉल करें और डिफ़ॉल्ट सबसे अच्छे रास्ते और छोटे रास्ते, दोनों के लिए रास्ते की जानकारी पाएं. जानकारी में, कुल समय और डेस्टिनेशन वेपॉइंट की दूरी शामिल होती है.

यह जानकारी, कॉलबैक में GMSNavigationRouteInfo से मिलती है.

उदाहरण

नीचे दिए गए कोड के उदाहरण में, रूटिंग की दो रणनीतियों में से हर एक के लिए रास्ते की जानकारी पाने का तरीका बताया गया है.

Swift

let routingOptions = GMSNavigationRoutingOptions()
navigator?.getRouteInfoForDestination(destination,
                                      routingOptions: routingOptions) { routeInfo in
  ...
}

Objective-C

GMSNavigationRoutingOptions *routingOptions =
    [[GMSNavigationRoutingOptions alloc] init];
[navigator getRouteInfoForDestination:destination
                   withRoutingOptions:routingOptions
                             callback:^(GMSNavigationRouteInfo *routeInfo){...}];

रूटिंग की रणनीति सेट करना

रूटिंग की रणनीति को कॉन्फ़िगर करने के लिए, GMSNavigationRoutingOptions का इस्तेमाल करें और setDestinations() को कॉल करते समय routingStrategy सेट करें.

routingStrategy, गिनती के लिए नीचे दी गई वैल्यू में से कोई एक लेता है:

इन्यूमिरेशन वैल्यूब्यौरा
GMSNavigationRoutingStrategyDefaultBest नेविगेशन SDK टूल के डिफ़ॉल्ट लागत मॉडल के मुताबिक रूट को रैंक करता है. यह रूटिंग की डिफ़ॉल्ट रणनीति है.
GMSNavigationRoutingStrategyShorter दूरी के हिसाब से रास्तों की रैंक तय करता है. सबसे ऊंची रैंकिंग वाला रास्ता, लौटाए गए रास्तों की तुलना में सबसे छोटा रास्ता होता है.

उदाहरण

नीचे दिए गए उदाहरण में बताया गया है कि छोटे रास्तों की रणनीति कैसे सेट की जाए.

Swift

let routingOptions = GMSNavigationRoutingOptions(routingStrategy: .shorter)
navigator?.setDestinations(destinations,
                           routingOptions: routingOptions) { routeStatus in
  ...
}

Objective-C

GMSNavigationRoutingOptions *routingOptions = [[GMSNavigationRoutingOptions alloc] initWithRoutingStrategy:GMSNavigationRoutingStrategyShorter];
[navigator setDestinations:destinations
            routingOptions:routingOptions
                  callback:^(GMSRouteStatus routeStatus){...}];

फ़ेरी वाले रास्ते

डिफ़ॉल्ट रूप से, iOS के लिए नेविगेशन SDK टूल में ऐसे रास्ते शामिल नहीं होते जिनमें फ़ेरी शामिल हैं. अगर आपको रूट में फ़ेरी के विकल्प शामिल करने हैं, तो इस रूट की सेटिंग में बदलाव किया जा सकता है. इससे आपको फ़ेरी के अलग-अलग हिस्सों की यात्रा की जानकारी दिखेगी. इसके लिए, avoidsFerries को false पर सेट करें.

उदाहरण

Swift

self.mapView.navigator?.avoidsFerries = false

Objective-C

self.mapView.navigator.avoidsFerries = NO

रास्ते का कॉल आउट फ़ॉर्मैट

छोटे रास्ते की रूटिंग रणनीति के तहत, रास्ते के कॉलआउट दूरी की जानकारी दिखाते हैं. हालांकि, ETA कॉलआउट का इस्तेमाल किया जा सकता है.

रूट कॉलआउट फ़ॉर्मैट को कॉन्फ़िगर करना

GMSMapView में routeCalloutFormat सेट करके, रास्ते के कॉलआउट का फ़ॉर्मैट बदला जा सकता है. routeCalloutFormat में से कोई एक इन्यूमिरेशन वैल्यू ली जाती है:

इन्यूमिरेशन वैल्यूब्यौरा
GMSNavigationRouteCalloutFormatDefault सबसे अच्छे रास्ते की रूटिंग रणनीति का इस्तेमाल करने पर, बचा हुआ समय दिखाता है. छोटी रास्तों की रूटिंग रणनीति का इस्तेमाल करने पर, बची हुई दूरी दिखाता है
GMSNavigationRouteCalloutFormatTime बचा हुआ समय दिखाता है.
GMSNavigationRouteCalloutFormatDistance DDisplay के लिए बची हुई दूरी.

उदाहरण

यहां दिए गए कोड के उदाहरण में, रूट कॉलआउट के फ़ॉर्मैट को कॉन्फ़िगर करने का तरीका बताया गया है.

Swift

self.mapView.routeCalloutFormat = .time

Objective-C

_mapView.routeCalloutFormat = GMSNavigationRouteCalloutFormatTime;