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

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

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

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

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

routingStrategy इनमें से कोई एक वैल्यू लेता है:

इन्यूमरेशन वैल्यूब्यौरा
GMSNavigationRoutingStrategyDefaultBest यह नेविगेशन एसडीके के डिफ़ॉल्ट कॉस्ट मॉडल के हिसाब से रास्तों को रैंक करता है. यह रूटिंग की डिफ़ॉल्ट रणनीति है.
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 के लिए Navigation SDK टूल, फ़ेरी वाले रास्तों को शामिल नहीं करता है. अगर आपको अपने रास्तों में फ़ेरी के विकल्प शामिल करने हैं, तो रास्तों से जुड़ी इस प्राथमिकता को बदला जा सकता है. इसके लिए, avoidsFerries को false पर सेट करें, ताकि फ़ेरी के सेगमेंट में यात्रा की जानकारी दिखाई जा सके.

उदाहरण

Swift

self.mapView.navigator?.avoidsFerries = false

Objective-C

self.mapView.navigator.avoidsFerries = NO

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

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

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

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

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

उदाहरण

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

Swift

self.mapView.routeCalloutFormat = .time

Objective-C

_mapView.routeCalloutFormat = GMSNavigationRouteCalloutFormatTime;