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

प्रॉडक्ट विवरण

समस्याएं

नेटवर्क

Data

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

रूटिंग

सिम्युलेटर

वर्कफ़्लो

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

प्रॉडक्ट विवरण

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

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

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

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

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

समस्याएं

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

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

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

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

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

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

नेटवर्क

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

Data

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

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

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

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

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

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

iOS में, ऐप्लिकेशन के उपयोगकर्ताओं को ईटीए की जानकारी देने के लिए, यह तरीका अपनाएं:

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

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

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

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

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

remainingTimeOrdistanceChangeListener का इस्तेमाल करके, इस सुविधा के बारे में अनुमान लगाया जा सकता है.

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

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

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

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

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

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

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

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

क्या सबसे अच्छे रास्ते के विकल्प को कलर कोड किया जा सकता है?
नहीं. फ़िलहाल, किसी खास रास्ते के विकल्प को कलर कोड नहीं दिया जा सकता.
क्या नेविगेशन 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 बनाया और दिखाया जाता है.

क्या तय किए गए पाथ से होने वाले बदलावों को ट्रैक करने के लिए, नेविगेशन 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 को कॉल करें.

सिम्युलेटर

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

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

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

वर्कफ़्लो

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

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

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

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

Mobility Services के ग्राहकों के लिए, नेविगेशन SDK टूल का इस्तेमाल कैसे अलग है?

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

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

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

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

नेविगेशन SDK टूल के किन एपीआई का इस्तेमाल सिर्फ़ Mobility Services के ग्राहकों को करना चाहिए?

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

अगर मैं Mobility Services का ग्राहक हूं, तो क्या मेरे पास Navigation SDK टूल के ऐसे वर्शन का इस्तेमाल करने का विकल्प है जो Mobility Services के अलावा किसी अन्य प्लैटफ़ॉर्म पर काम करता हो?

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

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

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