रास्ते की गणना (फिर से रास्ता बताना शामिल है) वह रास्ता दिखाती है जिसे डिफ़ॉल्ट सबसे अच्छे रास्ते के रूप में नेविगेट करने में सबसे कम समय लगता है. हालाँकि, रूटिंग की रणनीति में बदलाव किया जा सकता है, ताकि दूसरे रास्ते की तुलना में कम अवधि के विकल्प को दिखाया जा सके.
छोटा शब्द का मतलब, उस रास्ते से है जो हमारे डिफ़ॉल्ट लागत मॉडल के हिसाब से, सबसे अच्छे रास्तों में से सबसे छोटा रास्ता है. हो सकता है कि छोटा रास्ता पूरा न हो, क्योंकि वह अच्छा विकल्प नहीं हो सकता. उदाहरण के लिए, अगर सबसे छोटा रास्ता 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;