गड़बड़ियां
गड़बड़ी होने पर, गड़बड़ी के रिस्पॉन्स का मुख्य हिस्सा स्टैंडर्ड फ़ॉर्मैट में दिखेगा. साथ ही, एचटीटीपी स्टेटस कोड को गड़बड़ी वाले स्टेटस पर सेट कर दिया जाएगा.
जवाब में एक ऐसा ऑब्जेक्ट होता है जिसमें एक 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पर सेट करने पर, स्नैप-टू-रोड क्वेरी एक ऐसी पॉलीलाइन दिखाती है जो कोनों, घुमावों, और गोल चक्करों के आस-पास सड़क को फ़ॉलो करती है. अगर सड़क घुमावदार है, तो रफ़्तार की कानूनी सीमा में बदलाव न होने पर भी, सड़क के कई सेगमेंट दिखाए जाते हैं. ऐसा इसलिए किया जाता है, ताकि सड़क की ज्यामिति के हिसाब से पॉलीलाइन बनाई जा सके.