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

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

समस्याएं

नेटवर्क

Data

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

रूटिंग

सिम्युलेटर

वर्कफ़्लो

Mobility Services

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

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

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

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

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

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

समस्याएं

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

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

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

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

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

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

नेटवर्क

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

Data

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

जगह की जानकारी से जुड़ी अन्य सूचनाओं के लिए, बैकग्राउंड में प्रोसेस करने की सुविधा बंद करने के लिए, 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 को कॉल करें.

सिम्युलेटर

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

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

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

वर्कफ़्लो

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

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

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

Mobility Services

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

Google Maps Platform की मोबिलिटी सेवाएं, एपीआई और SDK टूल का कलेक्शन उपलब्ध कराती हैं. इससे, परिवहन और लॉजिस्टिक कारोबारों की ज़रूरतों को पूरा करने में मदद मिलती है. 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 में कई ऐसे एपीआई हैं जिन्हें सिर्फ़ Mobility Services के ग्राहक इस्तेमाल कर सकते हैं. 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 की बिक्री टीम से संपर्क करें.