गड़बड़ियां
गड़बड़ी होने पर, गड़बड़ी के रिस्पॉन्स का मुख्य हिस्सा स्टैंडर्ड फ़ॉर्मैट में दिखेगा. साथ ही, एचटीटीपी स्टेटस कोड को गड़बड़ी वाले स्टेटस पर सेट कर दिया जाएगा.
जवाब में एक ऐसा ऑब्जेक्ट होता है जिसमें एक error ऑब्जेक्ट होता है. इसमें ये कुंजियां होती हैं:
code: यह रिस्पॉन्स के एचटीटीपी स्टेटस के जैसा ही होता है.message: गड़बड़ी के बारे में कम शब्दों में जानकारी.status: यह स्टेटस कोड, गड़बड़ी के बारे में बताता है.
उदाहरण के लिए, अमान्य placeId पैरामीटर भेजने पर, यह गड़बड़ी दिखेगी:
{ "error": { "code": 400, "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"", "status": "INVALID_ARGUMENT" } }
संभावित त्रुटियों में शामिल हैं:
| कोड | स्थिति | मैसेज | समस्या का हल |
|---|---|---|---|
| 400 | INVALID_ARGUMENT |
आपने जो कुंजी दी है वह अमान्य है. | आपकी एपीआई पासकोड मान्य नहीं है या उसे अनुरोध में शामिल नहीं किया गया था. कृपया पक्का करें कि आपने पूरी कुंजी शामिल की हो और आपने इस कुंजी के लिए एपीआई चालू किया हो. |
| 400 | INVALID_ARGUMENT |
"\"path\" पैरामीटर में अमान्य वैल्यू शामिल है: ☃" | आपके अनुरोध में अमान्य तर्क शामिल थे. इस गड़बड़ी की ये वजहें हो सकती हैं:
अगर अब मौजूद नहीं है ऐसी सड़क या सड़क नहीं है ऐसी जगह के लिए |
| 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 सेकंड में किए जाने वाले अनुरोध. इस सीमा को इस तरह से कॉन्फ़िगर किया जाना चाहिए कि एक या कुछ उपयोगकर्ता, आपके रोज़ के कोटे को खत्म न कर पाएं. साथ ही, सभी उपयोगकर्ताओं को उचित ऐक्सेस मिल सके. इन सीमाओं को कॉन्फ़िगर करने के लिए, Capping API का इस्तेमाल लेख पढ़ें. |
एक्स्पोनेंशियल बैकऑफ़
अनुरोध पूरे न होने पर, आपको यह पक्का करना चाहिए कि आपने एक्स्पोनेंशियल बैकऑफ़ के साथ अनुरोधों को फिर से भेजा हो. उदाहरण के लिए, अगर कोई अनुरोध एक बार पूरा नहीं होता है, तो एक सेकंड बाद फिर से कोशिश करें. अगर वह फिर से पूरा नहीं होता है, तो दो सेकंड बाद फिर से कोशिश करें. इसके बाद, चार सेकंड बाद फिर से कोशिश करें. इसी तरह, कोशिश करते रहें. इससे यह पक्का होता है कि खराब अनुरोध या बड़े पैमाने पर होने वाली गड़बड़ियों की वजह से, Google के सर्वर पर ज़्यादा लोड न पड़े. ऐसा इसलिए होता है, क्योंकि कई क्लाइंट अनुरोधों को बहुत तेज़ी से फिर से करने की कोशिश करते हैं.
समस्या हल करने के बारे में अक्सर पूछे जाने वाले सवाल
क्रियान्वयन संबंधी समस्याएं
- मुझे अपने वाहन की जगह की जानकारी को कितनी बार सैंपल करना चाहिए?
- सड़क पर स्नैप करने की सुविधा के बेहतर नतीजे पाने के लिए, हर 1 से 10 सेकंड में डेटा इकट्ठा करने का सुझाव दिया जाता है.
- क्या हर क्वेरी के लिए, भेजे जा सकने वाले पॉइंट की संख्या तय की गई है?
- हां, किसी क्वेरी में ज़्यादा से ज़्यादा 100 पॉइंट हो सकते हैं.
- मुझे अपने स्नैप किए गए अक्षांश/देशांतर के जोड़े को सेव करने के लिए, किस लेवल की सटीकता का इस्तेमाल करना चाहिए?
- यह पक्का करने के लिए कि स्नैप किए गए पाथ, ज़ूम के सभी लेवल पर सड़कों के हिसाब से दिखें, आपको स्नैप किए गए अक्षांश/देशांतर के जोड़े को सात दशमलव स्थानों तक की सटीक जानकारी के साथ सेव करना चाहिए.
- क्या स्नैप किए गए पाथ दिखाने के लिए, कोड में बदली गई पॉलीलाइन का इस्तेमाल किया जा सकता है?
- कोड में बदली गई पॉलीलाइन को सिर्फ़ पांच दशमलव स्थानों तक सटीक बनाया जाता है. इससे करीब दो मीटर की गड़बड़ी हो सकती है. इसलिए, अगर आपको स्नैप किए गए पाथ को ज़्यादा ज़ूम लेवल पर सड़क के हिसाब से दिखाना है, तो एन्कोड की गई पॉलीलाइन का इस्तेमाल नहीं किया जा सकता.
सामान्य समस्याएं
- कुछ पॉइंट स्नैप नहीं हो रहे हैं या स्नैप किए गए पाथ में गैप हैं. मैं इसे कैसे ठीक करूं?
-
- अगर तय समय के अंतराल पर पॉइंट का सैंपल लिया जा रहा है, तो पक्का करें कि पॉइंट का सैंपल कम समय के अंतराल (हर 1 से 10 सेकंड) पर लिया जाए. अगर लंबे इंटरवल का इस्तेमाल किया जाता है (जैसे, 60 सेकंड), तो हो सकता है कि स्नैप-टू-रोड एल्गोरिदम, यात्रा की गई सड़कों का सटीक पता न लगा पाए.
- अगर पॉइंट बनाने के लिए, मैप पर मैन्युअल तरीके से क्लिक किया जा रहा है, तो कुछ पॉइंट या कम पॉइंट वाले पाथ बनाना बहुत आसान है. स्नैपिंग एल्गोरिदम, ऐसे पाथ को अच्छी तरह से हैंडल नहीं करता है. स्नैपिंग एल्गोरिदम, आस-पास के पॉइंट के लिए सबसे अच्छी तरह काम करता है. अपने पाथ की जांच करने के लिए, सड़क पर स्नैप करने की सुविधा का डेमो आज़माएं या सड़क की जानकारी देने वाले टूल का इस्तेमाल करें.
- ज़ूम इन करने पर, मेरे स्नैप किए गए पाथ, सड़क से थोड़े अलग या टेढ़े-मेढ़े क्यों दिख रहे हैं?
-
- क्या आपने स्नैप किए गए अक्षांश/देशांतर के जोड़े को दिखाने से पहले, उनकी सटीक जानकारी को छोटा कर दिया है? स्नैप किए गए अक्षांश/देशांतर के जोड़े को सात से कम दशमलव बिंदुओं की सटीकता पर सेव करने से, मैप पर स्नैप किया गया पाथ दिखाते समय सटीक जानकारी नहीं मिलती.
- क्या आपने एन्कोड की गई पॉलीलाइन का इस्तेमाल किया है? एन्कोड की गई पॉलीलाइन, अक्षांश/देशांतर के जोड़े को पांच दशमलव स्थानों पर काट देती हैं. इससे कई मीटर की गड़बड़ी होती है. इस वजह से, ज़्यादा ज़ूम लेवल पर लाइनें उबड़-खाबड़ दिखती हैं या सड़क से थोड़ी दूर दिखती हैं.
अगर ऊपर बताई गई दोनों में से कोई भी समस्या नहीं है, तो हो सकता है कि मैप टाइलें हाल ही में अपडेट की गई हों. इस वजह से, वे स्नैपिंग के लिए इस्तेमाल किए गए सड़क के इंडेक्स के साथ सिंक नहीं हो पा रही हैं. अगर आपकी कुछ ही क्वेरी पर इसका असर पड़ा है, तो इसकी वजह यह हो सकती है. Google Maps को नियमित रूप से अपडेट किया जाता है. इसलिए, ऐसा कभी-कभी हो सकता है. अगर मैप पर पुराने रास्तों को नियमित रूप से देखा जाता है, तो ऐसा ज़्यादा बार हो सकता है. उदाहरण के लिए, ऐसे रास्ते जिन्हें कई हफ़्ते पहले स्नैप किया गया था. बेहतर विज़ुअलाइज़ेशन के लिए, आपको मैप पर पुराने पाथ दिखाने से ठीक पहले उन्हें फिर से स्नैप करना चाहिए. इससे मैप टाइल और स्नैपिंग के लिए इस्तेमाल किए गए सड़क के इंडेक्स के बीच अंतर को कम किया जा सकता है.
- सड़क X के लिए गति सीमा की गलत जानकारी क्यों दिख रही है?
- स्पीड लिमिट की जानकारी कई सोर्स से मिलती है. इनकी सटीकता और कवरेज अलग-अलग होती है.
अगर आपको कोई पैटर्न दिखता है, जैसे कि किसी खास तरह की सड़क या किसी खास इलाके के लिए, स्पीड लिमिट लगातार गलत दिख रही है, तो कृपया हमें इसकी जानकारी देने के लिए यह तरीका अपनाएं:
- अपने डेस्कटॉप कंप्यूटर पर Google Maps खोलें या Android के लिए Google Maps ऐप्लिकेशन खोलें.
- बाईं ओर मौजूद मेन्यू खोलें.
- सुझाव/राय भेजें या शिकायत करें को चुनें. ध्यान दें: आपसे लॉग इन करने के लिए कहा जा सकता है.
- मैप में बदलाव करें को चुनें.
- वह सड़क सेगमेंट चुनें जिसमें आपको बदलाव करना है.
- आगे बढ़ें को चुनें.
- "अन्य" फ़ील्ड में जाकर, बताएं कि उस सड़क के लिए रफ़्तार की सीमा गलत है.
- सबमिट करें चुनें.
- सड़क पर चलने के बजाय, मेरे स्नैप किए गए पाथ में शॉर्टकट क्यों दिख रहे हैं?
-
इस समस्या को ठीक करने के लिए, यहां दी गई जानकारी देखें:
- पक्का करें कि
interpolateपैरामीटर,trueपर सेट हो. - देखें कि आपके ओरिजनल डेटा पॉइंट, तय किए गए इंटरवल (हर 1 से 10 सेकंड) पर सैंपल किए गए हों.
- पक्का करें कि
- मुझे ऐसी सड़क के लिए स्नैप किए गए पाथ में कई सड़क सेगमेंट क्यों दिख रहे हैं जिसकी स्पीड लिमिट में कोई बदलाव नहीं हुआ है?
interpolateपैरामीटर कोtrueपर सेट करने पर, सड़क पर स्नैप करने की सुविधा वाली क्वेरी, एक ऐसी पॉलीलाइन दिखाती है जो कोनों, घुमावों, और गोल चक्करों के आस-पास सड़क को फ़ॉलो करती है. अगर सड़क घुमावदार है, तो रफ़्तार की कानूनी सीमा में बदलाव न होने पर भी, सड़क के कई सेगमेंट दिखाए जाते हैं. ऐसा इसलिए किया जाता है, ताकि सड़क की ज्यामिति के हिसाब से पॉलीलाइन बनाई जा सके.