समस्या का हल

गड़बड़ियां

गड़बड़ी होने पर, स्टैंडर्ड फ़ॉर्मैट में गड़बड़ी का रिस्पॉन्स बॉडी दिखाया जाएगा और एचटीटीपी स्टेटस कोड को गड़बड़ी के स्टेटस पर सेट कर दिया जाएगा.

रिस्पॉन्स में एक error ऑब्जेक्ट होता है, जिसमें ये कुंजियां होती हैं:

  • code: यह रिस्पॉन्स के एचटीटीपी स्टेटस जैसा ही होता है.
  • message: गड़बड़ी के बारे में कम शब्दों में जानकारी.
  • status: गड़बड़ी का स्टेटस कोड, जो गड़बड़ी की प्रकृति के बारे में बताता है.

उदाहरण के लिए, अमान्य placeId पैरामीटर भेजने पर, यह गड़बड़ी दिखेगी:

{
  "error": {
    "code": 400,
    "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"",
    "status": "INVALID_ARGUMENT"
  }
}

संभावित त्रुटियों में शामिल हैं:

कोड स्थिति मैसेज समस्या का हल
400 INVALID_ARGUMENT आपने जो कुंजी दी है वह अमान्य है. आपका एपीआई पासकोड अमान्य है या उसे अनुरोध में शामिल नहीं किया गया था. कृपया पक्का करें कि आपने पूरी कुंजी शामिल की हो और आपने इस कुंजी के लिए एपीआई चालू किया हो.
400 INVALID_ARGUMENT "\"path\" पैरामीटर में अमान्य वैल्यू है: ☃" आपके अनुरोध में अमान्य आर्ग्युमेंट शामिल थे. इस गड़बड़ी की ये वजहें हो सकती हैं:
  • आपके path पैरामीटर में कोई समस्या है.
    कृपया पक्का करें कि आपके पास कम से कम एक और 100 से कम बिंदु हों. हर पॉइंट, संख्याओं का एक जोड़ा होना चाहिए, जिसे कॉमा से अलग किया गया हो, जैसे: 48.409114,-123.369158. पॉइंट को एक-दूसरे से अलग करने के लिए, पाइप का इस्तेमाल करें: '|'.
  • आपके अनुरोध में अमान्य placeId शामिल था.
  • आपके अनुरोध में placeId और path, दोनों शामिल थे. हर अनुरोध के लिए, इनमें से सिर्फ़ एक पैरामीटर का इस्तेमाल किया जा सकता है.

अगर किसी ऐसी सड़क के लिए placeId दिया जाता है जो अब मौजूद नहीं है या किसी ऐसी जगह के लिए दिया जाता है जो सड़क नहीं है, तो यह गड़बड़ी नहीं दिखेगी.

403 PERMISSION_DENIED रजिस्टर नहीं किए गए अनुरोध को ब्लॉक कर दिया गया. कृपया Google Developers Console का इस्तेमाल करके साइन अप करें. अनुरोध को इनमें से किसी एक या एक से ज़्यादा वजहों से अस्वीकार कर दिया गया है:
  • एपीआई पासकोड मौजूद नहीं है या अमान्य है.
  • आपके खाते पर बिलिंग की सुविधा चालू नहीं है.
  • आपने खुद से तय की गई सीमा से ज़्यादा बार इस्तेमाल किया है.
  • पेमेंट का दिया गया तरीका अब मान्य नहीं है. उदाहरण के लिए, क्रेडिट कार्ड की समयसीमा खत्म हो गई है.

Google Maps Platform के प्रॉडक्ट इस्तेमाल करने के लिए, आपके खाते पर बिलिंग की सुविधा चालू होनी चाहिए. साथ ही, सभी अनुरोधों में मान्य एपीआई पासकोड शामिल होना चाहिए. इसे ठीक करने के लिए, यह तरीका अपनाएं:

404 NOT_FOUND इस सेवा के लिए एचटीटीपीएस ज़रूरी है. पक्का करें कि आपने अनुरोध, https://roads.googleapis.com/ को भेजा हो, न कि http://roads.googleapis.com/ को.
429 RESOURCE_EXHAUSTED प्रोजेक्ट के लिए अनुरोध करने की सीमा पूरी हो जाने की वजह से, अनुरोध को कम कर दिया गया था. आपने Google Cloud Platform Console में कॉन्फ़िगर की गई अनुरोध सीमा से ज़्यादा अनुरोध किए हैं. आम तौर पर, यह सीमा, हर दिन के अनुरोधों, हर 100 सेकंड के अनुरोधों, और हर उपयोगकर्ता के हर 100 सेकंड के अनुरोधों के हिसाब से सेट की जाती है. इस सीमा को कॉन्फ़िगर किया जाना चाहिए, ताकि किसी एक या छोटे ग्रुप के उपयोगकर्ताओं की वजह से, आपका रोज़ का कोटा खत्म न हो. साथ ही, सभी उपयोगकर्ताओं को सही ऐक्सेस मिलता रहे. इन सीमाओं को कॉन्फ़िगर करने के लिए, एपीआई के इस्तेमाल को सीमित करना देखें.

एक्सपोनेंशियल बैकऑफ़

अनुरोध पूरा न होने पर, आपको एक्सपोनेंशियल बैकऑफ़ के साथ अनुरोध फिर से करने चाहिए. उदाहरण के लिए, अगर कोई अनुरोध एक बार पूरा नहीं होता है, तो एक सेकंड बाद फिर से कोशिश करें. अगर फिर से पूरा नहीं होता है, तो दो सेकंड बाद फिर से कोशिश करें. इसके बाद, चार सेकंड बाद फिर से कोशिश करें. इससे यह पक्का होता है कि गड़बड़ी वाले अनुरोध या बड़े पैमाने पर होने वाली गड़बड़ियां, Google के सर्वर पर फ़्लड न करें. ऐसा इसलिए, क्योंकि कई क्लाइंट अनुरोधों को तुरंत दोबारा करने की कोशिश करते हैं.

समस्या हल करने के बारे में अक्सर पूछे जाने वाले सवाल

क्रियान्वयन संबंधी समस्याएं

मुझे अपने वाहन की जगह की जानकारी किस फ़्रीक्वेंसी पर सैंपल करनी चाहिए?
हमारा सुझाव है कि सड़क के हिसाब से फ़ोकस करने की सुविधा के बेहतर नतीजे पाने के लिए, हर 1 से 10 सेकंड में फ़ोकस को अडजस्ट करें.
क्या हर क्वेरी के लिए पॉइंट की संख्या तय है?
हां, किसी क्वेरी में ज़्यादा से ज़्यादा 100 पॉइंट हो सकते हैं.
स्नैप किए गए अक्षांश/देशांतर के जोड़े को सेव करने के लिए, मुझे कितनी सटीक जानकारी का इस्तेमाल करना चाहिए?
यह पक्का करने के लिए कि स्नैप किए गए पाथ, ज़ूम किए गए सभी लेवल पर सड़कों के हिसाब से हों, यहां तक कि ज़ूम किए गए सबसे ज़्यादा लेवल पर भी, आपको स्नैप किए गए अक्षांश/देशांतर के जोड़े को सात दशमलव स्थानों तक सटीक तरीके से सेव करना चाहिए.
क्या स्नैप किए गए पाथ दिखाने के लिए, कोड में बदली गई पॉलीलाइन का इस्तेमाल किया जा सकता है?
एन्क्रिप्ट की गई पॉलीलाइन की सटीक जानकारी, दशमलव के बाद सिर्फ़ पांच अंकों तक दी जाती है. इससे, करीब दो मीटर की गड़बड़ी हो सकती है. इसलिए, अगर आपको स्नैप किए गए पाथ को ज़ूम किए गए लेवल पर सड़क के हिसाब से बनाना है, तो कोड में बदली गई पॉलीलाइन का इस्तेमाल नहीं करना चाहिए.

सामान्य समस्याएं

कुछ पॉइंट स्नैप नहीं हो रहे हैं या स्नैप किए गए पाथ में गैप हैं. मैं इसे कैसे ठीक करूं?
  • अगर समय के हिसाब से अपने पॉइंट सैंपल किए जा रहे हैं, तो पक्का करें कि आपके पॉइंट कम समय के अंतराल (हर 1 से 10 सेकंड) पर सैंपल किए जाएं. अगर ज़्यादा इंटरवल (उदाहरण के लिए, 60 सेकंड) का इस्तेमाल किया जाता है, तो हो सकता है कि सड़क पर फ़ोकस करने वाला एल्गोरिदम, सड़कों की जानकारी को ज़रूरत के मुताबिक सटीक तरीके से न तय कर पाए.
  • अगर मैन्युअल तरीके से मैप पर पॉइंट बनाने के लिए क्लिक किया जा रहा है, तो कुछ पॉइंट या कम पॉइंट वाले पाथ बनाना बहुत आसान है. स्नैपिंग एल्गोरिदम, ऐसे पाथ को ठीक से मैनेज नहीं कर पाता. स्नैप करने वाला एल्गोरिदम, एक-दूसरे के करीब मौजूद पॉइंट के लिए सबसे अच्छा काम करता है. सड़कों पर स्नैप करने की सुविधा के डेमो को आज़माएं या अपने पाथ की जांच करने के लिए, सड़कों के जांचने वाले टूल का इस्तेमाल करें.
ज़ूम इन करने पर, स्नैप किए गए पाथ में कांटे क्यों दिखते हैं या वे सड़क से थोड़े अलग क्यों दिखते हैं?
  • क्या स्नैप किए गए अक्षांश/देशांतर के जोड़े को दिखाने से पहले, उनकी सटीक वैल्यू को छोटा किया जा रहा है? स्नैप किए गए अक्षांश/देशांतर के जोड़े को सात दशमलव बिंदुओं से कम सटीक जानकारी के साथ सेव करने पर, मैप पर स्नैप किया गया पाथ दिखाने पर सटीक जानकारी से जुड़ी गड़बड़ियां होती हैं.
  • क्या एन्कोडेड पॉलीलाइन का इस्तेमाल किया जा रहा है? कोड में बदली गई पॉलीलाइन, अक्षांश/देशांतर के जोड़े को दशमलव के बाद पांचवें स्थान तक काट देती हैं. इससे कई मीटर की गड़बड़ी होती है. इस वजह से, ज़ूम लेवल ज़्यादा होने पर, लाइनें कांट-छांट वाली या सड़क से थोड़ी दूर दिखती हैं.

अगर इनमें से कोई भी बात लागू नहीं होती है, तो हो सकता है कि मैप टाइल हाल ही में अपडेट की गई हों. इस वजह से, वे स्नैप करने के लिए इस्तेमाल किए जाने वाले सड़क के इंडेक्स के साथ सिंक नहीं हो पा रही हैं. अगर आपकी कुछ ही क्वेरी पर असर पड़ा है, तो इसकी वजह यह हो सकती है. Google Maps को नियमित तौर पर अपडेट किया जाता है. इसलिए, ऐसा कभी-कभी हो सकता है. अगर मैप पर पुराने रास्ते नियमित तौर पर देखे जाते हैं, तो ऐसा ज़्यादा बार हो सकता है. उदाहरण के लिए, ऐसे रास्ते जिन्हें कई हफ़्ते पहले स्नैप किया गया था. बेहतर विज़ुअलाइज़ेशन के लिए, आपको मैप पर दिखाने से ठीक पहले पुराने पाथ को फिर से स्नैप करना चाहिए. इससे, मैप टाइल और स्नैप करने के लिए इस्तेमाल किए गए सड़क के इंडेक्स के बीच अंतर को कम किया जा सकता है.

सड़क X की गति सीमा गलत तरीके से क्यों दिख सकती है?
स्पीड की सीमाएं कई सोर्स से मिलती हैं. इन सोर्स की सटीक जानकारी और कवरेज अलग-अलग होती है. अगर आपको कोई पैटर्न मिलता है, जैसे कि किसी खास तरह की सड़क या किसी खास इलाके के लिए, स्पीड की सीमाएं लगातार गलत हैं, तो कृपया हमें बताने के लिए यह तरीका अपनाएं:
  1. अपने डेस्कटॉप कंप्यूटर पर Google Maps या Android के लिए Google Maps ऐप्लिकेशन खोलें.
  2. बाईं ओर मौजूद मेन्यू खोलें.
  3. सुझाव/राय भेजें या शिकायत करें को चुनें. ध्यान दें: आपसे लॉग इन करने के लिए कहा जा सकता है.
  4. मैप में बदलाव करें को चुनें.
  5. वह सड़क का सेगमेंट चुनें जिसमें आपको बदलाव करना है.
  6. आगे बढ़ें को चुनें.
  7. "अन्य" फ़ील्ड में, बताएं कि उस सड़क के लिए रफ़्तार की सीमा गलत है.
  8. सबमिट करें चुनें.
अन्य समस्याओं की शिकायत भी यहां की जा सकती है. उदाहरण के लिए, अगर सड़क का नाम गलत है, उसे गलत तरीके से दिखाया गया है, वह बंद है या निजी है.
स्नैप किया गया पाथ, सड़क के बजाय किनारों को काट रहा है, ऐसा क्यों हो रहा है?
इस समस्या को ठीक करने के लिए, इनकी जांच करें:
  • पक्का करें कि interpolate पैरामीटर, true पर सेट हो.
  • देखें कि आपके ओरिजनल डेटा पॉइंट का सैंपलिंग, एक-दूसरे से काफ़ी कम अंतराल पर (हर 1 से 10 सेकंड में) किया गया हो.
मुझे ऐसी सड़क के स्नैप किए गए पाथ में सड़क के कई सेगमेंट क्यों दिख रहे हैं जिसकी स्पीड लिमिट में कोई बदलाव नहीं हुआ है?
जब interpolate पैरामीटर को true पर सेट किया जाता है, तो सड़क पर फ़ोकस करने वाली क्वेरी, एक पॉलीलाइन दिखाती है. यह पॉलीलाइन, कोनों, घुमावों, और राउंडअबाउट के आस-पास सड़क के हिसाब से बनती है. अगर सड़क घुमावदार है, तो सड़क के कई सेगमेंट दिखाए जाते हैं. भले ही, रफ़्तार की सीमा में कोई बदलाव न हुआ हो. ऐसा इसलिए किया जाता है, ताकि सड़क की ज्यामिति के हिसाब से सटीक पॉलीलाइन बनाई जा सके.