अक्सर पूछे जाने वाले सवाल

प्रॉडक्ट के बारे में जानकारी

समस्याएं

नेटवर्क

डेटा

यूज़र इंटरफ़ेस को पसंद के मुताबिक बनाना

रूटिंग

सिम्युलेटर

वर्कफ़्लो

मोबिलिटी सेवाएं

प्रॉडक्ट के बारे में जानकारी

आपके ऐप्लिकेशन में, Navigation SDK की सेवा की शर्तों के बारे में सूचना देने वाला एक डायलॉग बॉक्स होना चाहिए. हर ड्राइवर को इसे स्वीकार करना होगा. इस डायलॉग में ड्राइवर को सेवा की शर्तों से सहमत होने का विकल्प मिलता है. Navigation SDK के साथ, शर्तों की टेक्स्ट फ़ाइल दी जाती है.
Android में, शर्तों वाला डायलॉग दिखाने के लिए NavigationApi.showTermsAndConditionsDialog तरीके का इस्तेमाल करें.
iOS में, कॉल करें GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName.
Google Maps Mobile में इस्तेमाल की जा सकने वाली सभी भाषाएं, Navigation SDK में अपने-आप उपलब्ध हो जाती हैं. किसी डिवाइस में सिस्टम की भाषा डिफ़ॉल्ट रूप से सेट होती है. कोई ऐप्लिकेशन इस सेटिंग को नहीं बदल सकता. हालांकि, ऐप्लिकेशन के पास 70 से ज़्यादा भाषाओं का ऐक्सेस होता है.

हां. Android में, एक बार शुरू होने के बाद LocationListener बैकग्राउंड में चलता रहता है. आपका ऐप्लिकेशन, सड़क के हिसाब से जगह की जानकारी को स्नैप करता रहता है और दिशा बनाए रखता है.

iOS में, बैकग्राउंड में जगह की जानकारी और दिशा के अपडेट पाने के लिए, रोड स्नैपिंग की सुविधा लागू करें. साथ ही, allowsBackgroundLocationUpdates को YES पर सेट करें.

हां. जब कोई रास्ता बनाया जाता है या उसमें बदलाव किया जाता है, तो RouteChangeListener पॉलीलाइन उपलब्ध कराता है.

नहीं, Navigation SDK के लिए डिवाइस पर Google Maps Mobile को इंस्टॉल करना ज़रूरी नहीं है.
नहीं, फ़िलहाल Navigation SDK में यह सुविधा उपलब्ध नहीं है.
हां. ट्रैफ़िक की दिशा की जानकारी डिफ़ॉल्ट रूप से उपलब्ध होती है और दिखती है.

समस्याएं

Xcode 12 में, ऐप्लिकेशन सिम्युलेटर के लिए सही तरीके से नहीं बनाए जाते. इसे किस तरह ठीक किया जा सकता है?

इस समस्या को ठीक करने के लिए, Xcode प्रोजेक्ट की बिल्ड सेटिंग खोलें और arm64 को सिर्फ़ "iOS सिम्युलेटर" बिल्ड के लिए Excluded Architectures में जोड़ें.

ज़्यादा जानकारी के लिए, यह StackOverflow थ्रेड देखें.

GMSMapView लोड नहीं होता है.

अगर GMSMapView लोड नहीं होता है, तो:

  • देख लें कि Cloud Console में NavSDK चालू हो.
  • अगर Nav SDK इंस्टॉल है, लेकिन आपका प्रोजेक्ट Nav SDK API का इस्तेमाल नहीं करता है, तो इसे अपने बाइनरी से हटा दें.

नेटवर्क

Navigation SDK, कनेक्टिविटी की समस्या को कैसे ठीक करता है?
Navigation SDK, हर यात्रा के लिए रास्ते को पहले से ही कैश मेमोरी में सेव कर लेता है. पहले से कैश की गई जानकारी में, 15 से 20 मिनट के लिए रूट की जानकारी शामिल होती है. साथ ही, अगर ड्राइवर रूट से भटक जाता है, तो उसके लिए अन्य रूट की जानकारी भी शामिल होती है. Navigation SDK, डिवाइस के जीपीएस और सेंसर का इस्तेमाल करके जगह की जानकारी का अनुमान लगाता है.
क्या ऑफ़लाइन मोड उपलब्ध है?
नहीं, Navigation SDK में फ़िलहाल ऑफ़लाइन मोड की सुविधा उपलब्ध नहीं है. हालांकि, एसडीके किसी यात्रा के लिए पहले से कैश की गई जानकारी उपलब्ध कराता है.

डेटा

क्या यात्रा शुरू करने से पहले, रास्ते में पड़ने वाले सभी स्टॉप/मंज़िलों की जानकारी देखी जा सकती है?

हां. Android में, किसी रास्ते के निर्देश वापस पाने के लिए, Navigator.getRouteSegments() को कॉल करें.

iOS में, GMSNavigator.routeLegs(read) पर कॉल करें.

क्या किसी रास्ते की शुरुआत में, मोड़-दर-मोड़ रास्ते की जानकारी उपलब्ध होती है?
हां. Navigation SDK, रास्ते के सेगमेंट की सूची उपलब्ध कराता है. इसके अलावा, ड्राइवर हेडर में मौजूद दिशा-निर्देश वाले कार्ड पर स्वाइप करके, हर दिशा-निर्देश देख सकता है.
ऐप्लिकेशन के उपयोगकर्ताओं को ईटीए की जानकारी कैसे दी जाती है?

Android में, ऐप्लिकेशन इस्तेमाल करने वाले लोगों को ईटीए की जानकारी देने के लिए, यह तरीका अपनाएं:

  1. Navigator.getTimeAndDistanceList() का इस्तेमाल करके, सभी वेपॉइंट के लिए समय और दूरी की जानकारी पाएं.
  2. इस जानकारी को क्लाइंट ऐप्लिकेशन को फ़ॉरवर्ड करें. ठीक उसी तरह जैसे ड्राइवर के पहुँचने का अनुमानित समय फ़ॉरवर्ड किया जाता है.

iOS में, ऐप्लिकेशन इस्तेमाल करने वाले लोगों को पहुंचने के अनुमानित समय की जानकारी देने के लिए, यह तरीका अपनाएं:

  1. Navigator.getRouteSegments() का इस्तेमाल करके, यात्रा के लेग वापस पाएं.
  2. यात्रा के हर चरण के लिए GMSNavigator.timeToNextDestination को कॉल करें.
  3. समय की जानकारी को क्लाइंट ऐप्लिकेशन पर उसी तरह फ़ॉरवर्ड करें जिस तरह ड्राइवर के पहुँचने का अनुमानित समय फ़ॉरवर्ड किया जाता है.
अगर नेविगेशन फ़ोरग्राउंड में नहीं है, तो क्या ड्राइवर की मौजूदा जगह की जानकारी पाने के लिए RoadSnappedLocationProvider का इस्तेमाल किया जा सकता है?

हां. Android में, RoadSnappedLocationProvider डिफ़ॉल्ट रूप से बैकग्राउंड में चलता है.

iOS में, नेविगेशन को बैकग्राउंड में चालू रखने के लिए, GMSRoadSnappedLocationProviderListener के लिए लिसनर लागू करें. साथ ही, allowsBackgroundLocationUpdates प्रॉपर्टी को TRUE पर सेट करें.

क्या Navigation SDK में जियोफ़ेंसिंग की सुविधा काम करती है?

नहीं. नेविगेशन के मामले में, जियोफ़ेंस की तुलना में remainingTimeOrdistanceChangeListener बेहतर है. ऐसा हो सकता है कि जियोफ़ेंस में सड़क की ज्यामिति को ध्यान में न रखा गया हो. साथ ही, यह भी हो सकता है कि यह उस सटीक पॉइंट पर केंद्रित न हो जहां ड्राइवर ने नेविगेट किया है.

remainingTimeOrdistanceChangeListener का इस्तेमाल करके, इस सुविधा का फ़ायदा पाया जा सकता है.

  1. कॉलबैक की फ़्रीक्वेंसी तय करने के लिए थ्रेशोल्ड सेट करें.
  2. मंज़िल तक पहुंचने के लिए बची हुई दूरी देखें.

उदाहरण के लिए, अगर आपने थ्रेशोल्ड को 100 मीटर पर सेट किया है, तो आपको कॉलबैक तब मिलेगा, जब मंज़िल की दूरी 100 मीटर बदल जाएगी. दूरी कम होने पर, इस थ्रेशोल्ड को कम वैल्यू पर अपडेट किया जा सकता है. इससे आपको ज़्यादा बार कॉलबैक मिलेंगे. इसके बाद, देखें कि पिकअप/ड्रॉप-ऑफ़ की जगह कितनी दूर है. इससे आपको यह पता चलेगा कि आप पिकअप/ड्रॉप-ऑफ़ की जगह के काफ़ी करीब हैं या नहीं.

iOS में, सूचनाओं के बीच की दूरी को मैनेज करने के लिए, लिसनर GMSNavigatorListener.didUpdateRemainingDistance लागू करें.

क्या नेविगेशन ऐप्लिकेशन के बैकग्राउंड में चलने पर, सूचनाएं पाने की सुविधा बंद की जा सकती है?

हां. Android में, सूचनाओं को कंट्रोल करने के लिए Navigator.setHeadsUpNotificationEnabled का इस्तेमाल करें. इस तरीके में बूलियन आर्ग्युमेंट होता है. FALSE सूचनाएं पाने की सुविधा बंद करता है; TRUE सूचनाएं पाने की सुविधा चालू करता है.

iOS में, सड़क के हिसाब से जगह की जानकारी के लिए बैकग्राउंड में सूचनाएं पाने की सुविधा बंद करें. इसके लिए, GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdates को NO पर सेट करें.

जगह की जानकारी से जुड़ी अन्य सूचनाओं के लिए, बैकग्राउंड प्रोसेसिंग की सुविधा बंद करने के लिए, GMSNavigator.sendsBackgroundNotifications(NO) को कॉल करें.

यूज़र इंटरफ़ेस को पसंद के मुताबिक बनाना

क्या सबसे अच्छा रास्ते के विकल्प को रंग के हिसाब से कोड किया जा सकता है?
नहीं. फ़िलहाल, किसी खास रास्ते के विकल्प को कलर कोड करने की सुविधा उपलब्ध नहीं है.
क्या Navigation SDK, आखिरी मंज़िल के लिए पहुंचने का अनुमानित समय (ईटीए) दिखा सकता है?

हां. Android में, इन तरीकों का इस्तेमाल करें:

  1. Navigator.getTimeAndDistanceList() का इस्तेमाल करके, सभी वेपॉइंट के लिए समय और दूरी की जानकारी पाएं.
  2. NavigationFragment.setEtaCardEnabled(false) का इस्तेमाल करके, मौजूदा वेपॉइंट के पहुंचने का अनुमानित समय छिपाएं.
  3. फ़ाइनल डेस्टिनेशन पर पहुंचने का अनुमानित समय रेंडर करें.

iOS में, इनका इस्तेमाल करें:

  1. GMSNavigator.routeLegs(read) पर कॉल करें.
  2. आखिरी लेग में, कॉल GMSNavigator.timeToNextDestination करें.
  3. MSMapView.settings.navigationFooterEnabled=NO को FALSE पर सेट करके, मौजूदा वेपॉइंट के ईटीए को छिपाएं.
  4. फ़ाइनल डेस्टिनेशन पर पहुंचने का अनुमानित समय रेंडर करें.
मैं पहुंचने के अनुमानित समय के अपडेट कैसे छिपाऊं?

ईटीए कार्ड को इन तरीकों से बंद किया जा सकता है:

  • Android में, navigationView.setEtaCardEnabled(false) का इस्तेमाल करें.
  • iOS में, GMSMapView.settings.navigationFooterEnabled=NO का इस्तेमाल करें.
हेडर और फ़ुटर कार्ड के लिए, यूज़र इंटरफ़ेस (यूआई) को किस तरह से पसंद के मुताबिक बनाया जा सकता है?

Android में, बैकग्राउंड के रंग की स्टाइल सेट करने के लिए StylingOptions का इस्तेमाल किया जाता है. हेडर और फ़ुटर को छिपाने या दिखाने के लिए, NavigationFragment के setHeaderEnabled और setFooterEnabled मेंबर फ़ंक्शन का इस्तेमाल करें.

iOS में, बैकग्राउंड के रंग की स्टाइल सेट करने के लिए, GMSMapView.settings.navigationHeaderPrimaryBackgroundColor का इस्तेमाल करें. हेडर और फ़ुटर को छिपाने या दिखाने के लिए, GMSUISettings की navigationFooterEnabled और navigationHeaderEnabled प्रॉपर्टी का इस्तेमाल करें.

रूटिंग

क्या ड्राइवर को कोई खास रास्ता बताया जा सकता है या अन्य रास्तों को हटाया जा सकता है?
नहीं. डिफ़ॉल्ट रूप से, कई रास्ते दिखाए जाते हैं. इनमें सबसे तेज़ रास्ते को प्राथमिकता दी जाती है. अपने अनुरोध में "हाईवे और टोल से बचें" जैसी प्राथमिकताएं जोड़कर, डिफ़ॉल्ट रास्ते में बदलाव किया जा सकता है. वेपॉइंट जोड़ने से भी रास्ते पर असर पड़ता है.
क्या ऐप्लिकेशन के उपयोगकर्ता को डेस्टिनेशन के लिए, डिफ़ॉल्ट डेस्टिनेशन की जगह से अलग लेबल दिखाया जा सकता है?

हां. Android में, डेस्टिनेशन और अक्षांश/देशांतर के लिए कस्टम टाइटल वाला Marker बनाएं. Navigation SDK, NavigationMap पर कस्टम टाइटल और निर्देशांक दिखाता है.

iOS में, डेस्टिनेशन के लिए GMSMarker बनाया और दिखाया जाता है.

क्या तय किए गए पाथ से अलग रास्ते पर जाने की जानकारी ट्रैक करने के लिए, Navigation SDK का इस्तेमाल किया जा सकता है?

हां. Android में, Navigator.setRouteChangedListener का इस्तेमाल करके, रास्ते में बदलाव होने या नए रास्ते का सुझाव मिलने पर सूचनाएं पाएं:

  1. Navigator.setRouteChangedListener तरीके का इस्तेमाल करके, रास्ते पर डिवाइस की पोज़िशन की जांच करने वाले लिसनर को रजिस्टर करें.
  2. कॉल बैक इवेंट हैंडलर में कोड जोड़ें, onRouteChanged:
    • ऐप्लिकेशन का इस्तेमाल करने वाले व्यक्ति को अपडेट किए गए ईटीए और दूरी की जानकारी वाला मैसेज भेजें.
    • डिवाइस की जगह की जानकारी को ट्रैक करना.
    • [ज़रूरी नहीं] अपने ऐप्लिकेशन में ऐसी अन्य सुविधाएं जोड़ें जिनकी ज़रूरत तब पड़ती है, जब ड्राइवर तय किए गए रास्ते पर नहीं होता है.

iOS में, GMSNavigator और इसके लिसनर का इस्तेमाल करके, किसी रास्ते में बदलाव होने या नए रास्ते का सुझाव मिलने पर सूचनाएं पाएं:

  1. मैप के व्यू कंट्रोलर पर, GMSNavigatorListener प्रोटोकॉल और GMSRoadSnappedLocationProviderListener प्रोटोकॉल लागू करें.
  2. GMSNavigatorListener.navigatorDidChangeRoute लागू करें.
  3. GMSNavigator की routeLegs और currentRouteLeg प्रॉपर्टी का इस्तेमाल करके, नए रूट को ऐक्सेस करें.
क्या ड्राइवर, रास्ते को पूरा किए बिना नेविगेशन से बाहर निकल सकता है?

हां. Android में, नेविगेशन रोकने के लिए Navigator.stopGuidance() वाले तरीके को कॉल करें.

iOS में, GMSNavigator.clearDestinations पर कॉल करें.

क्या Navigation SDK, ट्रक और बड़ी गाड़ियों के लिए रूटिंग और नेविगेशन की सुविधा देता है?

हां. बड़े वाहनों के लिए रूटिंग (एलवीआर) की सुविधा की मदद से, Routes API या Route Optimization API से जनरेट किए गए ट्रक के हिसाब से रूट टोकन को Navigation SDK पर पास किया जा सकता है. एसडीके, रास्ते के दिशा-निर्देश (ऊंचाई, वज़न, खतरनाक सामान, और ट्रक पर लगी पाबंदियां) के साथ-साथ, मोड़-दर-मोड़ नेविगेशन की सुविधा देता है. साथ ही, डाइनैमिक रीरूटिंग के दौरान वाहन की फ़िज़िकल प्रोफ़ाइल को बनाए रखता है. ज़्यादा जानकारी के लिए, बड़ी गाड़ियों के रूट पर नेविगेट करना लेख पढ़ें.

सिम्युलेटर

क्या सिम्युलेटर में रास्ते बदलने की सुविधा काम करती है?

हां. Android में, simulateLocationsAlongNewRoute पर कॉल करके, यात्रा का ऐसा सिम्युलेशन करें जिसमें रास्ते में बदलाव किया गया हो. simulateLocationsAlongExistingRoute मेथड, मौजूदा रास्ते में किए गए बदलावों को अनदेखा करता है.

iOS में, GMSLocationSimulator.simulateAlongNewRouteToDestinations का इस्तेमाल करके, यात्रा के दौरान रूट बदलने की सुविधा को सिम्युलेट करें. अगर आपको रूट में किसी बदलाव की उम्मीद नहीं है, तो GMSLocationSimulator.simulateLocationsAlongExistingRoute या GMSLocationSimulator.simulateAlongNewRouteToDestinations का इस्तेमाल किया जा सकता है.

वर्कफ़्लो

नेविगेशन फ़्रैगमेंट वाली गतिविधि को बंद करने के बाद, सूचना को कैसे खारिज करें?

गतिविधि बंद होने पर भी, नेविगेशन के दौरान सूचना दिखती रहती है. वाहन के मंज़िल पर पहुंचने के बाद, नेविगेशन बंद हो जाता है और सूचना गायब हो जाती है.

सूचना पर क्लिक को मैनेज करने के लिए, Navigator.startGuidance(intent resumeIntent) का इस्तेमाल करें. resume intent तब ट्रिगर होता है, जब ऐप्लिकेशन का उपयोगकर्ता सूचना पर क्लिक करता है. आम तौर पर, Navigator.startguidance(getIntent()) को मुख्य ऐक्टिविटी से कॉल किया जाता है. इससे ऐप्लिकेशन का इस्तेमाल करने वाला व्यक्ति, सूचना पर क्लिक करता है, तो ऐक्टिविटी फिर से शुरू हो जाती है.

मोबिलिटी सेवाएं

मोबिलिटी सेवाओं के ग्राहकों के लिए, Navigation SDK का इस्तेमाल करना कैसे अलग है?

Google Maps Platform की Mobility Services में, एपीआई और एसडीके का कलेक्शन मिलता है. इससे परिवहन और लॉजिस्टिक्स से जुड़े कारोबारों की ज़रूरतों को पूरा करने में मदद मिलती है. मोबिलिटी सेवाओं के ग्राहकों के लिए, Navigation SDK का इस्तेमाल आम तौर पर इससे जुड़ी सेवाओं के साथ किया जाता है. जैसे, रास्ते को ऑप्टिमाइज़ करना, डिस्पैच करना, टास्क को ट्रैक करना, फ्लीट के आंकड़ों का विश्लेषण करना वगैरह. मोबिलिटी सेवाओं के ग्राहकों के लिए, Navigation SDK का बिल अलग तरीके से भेजा जाता है. ज़्यादा जानकारी के लिए, मोबिलिटी सेवाओं से जुड़ा दस्तावेज़ देखें.

मोबिलिटी प्रॉडक्ट, सिर्फ़ चुनिंदा ग्राहकों के लिए उपलब्ध हैं. ज़्यादा जानकारी के लिए, अपने सेल्स रेप्रज़ेंटेटिव से संपर्क करें.

मुझे कैसे पता चलेगा कि मैं Mobility Services का ग्राहक हूं?
अगर आपको पक्के तौर पर नहीं पता कि आपने Navigation SDK को मोबिलिटी सेवाओं के ग्राहक के तौर पर लागू किया है या नहीं, तो अपने कोड में ReportBillableEvent कॉल ढूंढें. सिर्फ़ मोबिलिटी सेवाओं के ग्राहकों को ReportBillableEvent तरीके का इस्तेमाल करना चाहिए.

मोबिलिटी सेवाओं के ग्राहकों के लिए, Navigation SDK की बिलिंग कैसे की जाती है?
मोबिलिटी सेवाओं के ग्राहकों के लिए, Navigation SDK की बिलिंग और कीमत इस बात पर निर्भर करती है कि आपने Google Maps Platform के साथ कौन सा सेवा समझौता किया है. यह पुष्टि करने के बारे में जानकारी के लिए कि मोबिलिटी सेवाओं को लागू करने के लिए आपसे सही शुल्क लिया जा रहा है, बिलिंग की पुष्टि देखें. मोबिलिटी सेवाओं की बिलिंग के बारे में ज़्यादा जानकारी के लिए, अपने सेल्स रेप्रज़ेंटेटिव से संपर्क करें.

Navigation SDK के किन एपीआई का इस्तेमाल सिर्फ़ मोबिलिटी सेवाओं के खरीदारों को करना चाहिए?

Navigation SDK में कई ऐसे एपीआई हैं जिनका इस्तेमाल सिर्फ़ मोबिलिटी सेवाओं के ग्राहक कर सकते हैं. Google, इन ग्राहकों से हर लेन-देन के हिसाब से शुल्क लेता है. अगर आप Mobility Services के ग्राहक नहीं हैं, तो यहां दिए गए तरीके काम नहीं करेंगे:

अगर मैं Mobility Services का ग्राहक हूं, तो क्या Navigation SDK को Mobility Services के अलावा किसी अन्य सेवा के साथ भी लागू किया जा सकता है?

हां, Mobility Services के ग्राहक, Navigation SDK के Mobility Services और non-Mobility Services, दोनों तरह के वर्शन का इस्तेमाल कर सकते हैं. हालांकि, किसी ऐप्लिकेशन में एक बार में सिर्फ़ एक ही तरह के इंटिग्रेशन का इस्तेमाल किया जा सकता है. आपको एक नया Google Cloud प्रोजेक्ट, बिलिंग खाता, और एपीआई पासकोड भी बनाना होगा. यह पासकोड, मोबिलिटी सेवाओं को लागू करने के लिए इस्तेमाल किए जाने वाले पासकोड से अलग होना चाहिए. ज़्यादा जानकारी के लिए, Navigation SDK के सेटअप की खास जानकारी देखें.

Navigation SDK के नॉन-मोबिलिटी सेवाओं वाले वर्शन का इस्तेमाल करने के बारे में ज़्यादा जानकारी पाने के लिए, अपने Google खाता प्रतिनिधि से संपर्क करें. इसमें किसी ऐप्लिकेशन को एक वर्शन से दूसरे वर्शन पर माइग्रेट करने के बारे में भी जानकारी शामिल है.

ध्यान दें: अगर आप Mobility Services के ग्राहक नहीं हैं और आपको Mobility Services के एपीआई और एसडीके के कलेक्शन के बारे में ज़्यादा जानना है, तो Google Maps Platform की सेल्स टीम से संपर्क करें.