जियोकोडिंग पते का इस्तेमाल करने के सबसे सही तरीके

जियोकोडिंग, पतों (जैसे कि सड़क का पता) को भौगोलिक निर्देशांकों (अक्षांश और देशांतर) में बदलने की प्रोसेस है. इनका इस्तेमाल, मैप पर मार्कर डालने या मैप की पोज़िशन तय करने के लिए किया जा सकता है. इस दस्तावेज़ में, पतों को जियोकोड करते समय ध्यान में रखने वाली बातों के बारे में बताया गया है. इसमें बताया गया है कि Geocoding API का इस्तेमाल कब करना सबसे सही रहेगा और Places API की जगह की जानकारी अपने-आप पूरी होने की सेवा का इस्तेमाल कब करना फ़ायदेमंद रहेगा.

आम तौर पर, पूरे पतों को जियोकोड करते समय Geocoding API का इस्तेमाल करें. उदाहरण के लिए, "48 Pirrama Rd, Pyrmont, NSW, Australia". Places API की, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सेवा का इस्तेमाल तब करें, जब अधूरे पते को जियोकोड करना हो या ऐसे ऐप्लिकेशन के लिए जिनमें इंतज़ार का समय कम होना ज़रूरी हो. जैसे, उपयोगकर्ता के इनपुट का जवाब देते समय.

इस्तेमाल के उदाहरण और एपीआई के सुझाव

इस्तेमाल के उदाहरण और एपीआई के सुझाव
उपयोगकर्ता के इनपुट का रीयल-टाइम में जवाब देना (इसमें उपयोगकर्ता के डाले गए ऐसे पते शामिल हैं जो अस्पष्ट, अधूरे, खराब तरीके से फ़ॉर्मैट किए गए या जिनमें वर्तनी की गड़बड़ी है) जगह का आईडी पाने के लिए, Places API की जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा का इस्तेमाल करें. इसके बाद, जगह के आईडी को latlng में जियोकोड करने के लिए, Geocoding API का इस्तेमाल करें.
ऑटोमेटेड सिस्टम, पूरे और ऐसे पिन कोड को प्रोसेस करते हैं जिनमें कोई गड़बड़ी न हो. उदाहरण के लिए, “48 Pirrama Rd, Pyrmont, NSW, Australia” Geocoding API वेब सेवा का इस्तेमाल करें.
अपने-आप काम करने वाले सिस्टम, अस्पष्ट क्वेरी को प्रोसेस करते हैं (उदाहरण के लिए, अधूरे, खराब फ़ॉर्मैट वाले या गलत स्पेलिंग वाले पते) अपने-आप काम करने वाले सिस्टम के लिए, Geocoding API वेब सेवा का इस्तेमाल करने का सुझाव दें. हालांकि, उपयोगकर्ता के इनपुट से मिली अस्पष्ट, अधूरी या गलत स्पेलिंग वाली क्वेरी की संख्या ज़्यादा होने पर, ऑटोमेटेड सिस्टम को फ़ायदा मिल सकता है. इसके लिए, जगह के नाम के लिए अपने-आप सुझाव देने वाला इंटरैक्टिव विजेट जोड़ा जा सकता है. इससे उपयोगकर्ताओं को कोई नतीजा चुनने में मदद मिलती है और वे पते की गलत स्पेलिंग से बच सकते हैं.
Directions API या Distance Matrix API का इस्तेमाल करने पर, देरी से जुड़ी समस्याएं. इनमें, ऑरिजिन, डेस्टिनेशन या वॉपटेस्ट के पते के तौर पर दी गई स्ट्रिंग शामिल हैं जगह का आईडी पाने के लिए, Places API की जगह के नाम के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सेवा का इस्तेमाल करके, जियोकोडिंग में लगने वाले समय को कम करें. इसके बाद, जगह के आईडी को Directions API या Distance Matrix API को भेजें.

उपयोगकर्ता के इनपुट का जवाब देना

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

  1. आम तौर पर, उपयोगकर्ता के इनपुट में धीरे-धीरे पता डालना शामिल होता है, जैसे कि "123 मुख्य सड़क". इसलिए, अधूरे और अस्पष्ट पतों को जियोकोड करने की सुविधा का फ़ायदा होता है, क्योंकि इससे उपयोगकर्ता को तेज़ी से नतीजा मिलता है.
  2. उपयोगकर्ता के इनपुट का जवाब देने वाले ऐप्लिकेशन, इंतज़ार के समय के लिहाज़ से बहुत संवेदनशील होते हैं.

इन दो बातों को ध्यान में रखते हुए, Places API में जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा, उपयोगकर्ता के इनपुट का जवाब देने के लिए सबसे सही है. जगह के नाम अपने-आप पूरा होने की सुविधा को इस तरह डिज़ाइन किया गया है कि वह एक से ज़्यादा संभावित विकल्प दिखा सके और उपयोगकर्ता उनमें से किसी एक को चुन सके. Places API को सिर्फ़ जगहों के कोड या पतों को खोजने के लिए सीमित किया जा सकता है. इसके अलावा, ऑटोमैटिक भरने की सुविधा वाले लुकअप फ़ंक्शन को किसी जगह के हिसाब से नतीजे दिखाने के लिए, पक्षपात किया जा सकता है. Places API, जगह का आईडी दिखाता है. इसे Geocoding API वेब सेवा को पूरी तरह से अलग-अलग जगहों के तौर पर पास किया जा सकता है. इसके बाद, यह सेवा पते की पूरी जानकारी दिखाती है और पते को latlng में जियोकोड करती है. जगह के आईडी को, Directions API और Distance Matrix API जैसे अन्य एपीआई को भी पास किया जा सकता है (यहां देखें).

Geocoding API में पते को जियोकोड करने में, रिस्पॉन्स मिलने में काफ़ी ज़्यादा समय लगता है. साथ ही, अधूरी या अस्पष्ट क्वेरी के लिए, यह कम सटीक नतीजे दिखाता है. इसलिए, इसका सुझाव उन ऐप्लिकेशन के लिए नहीं दिया जाता जिन्हें उपयोगकर्ता के इनपुट का रियल-टाइम में जवाब देना होता है.

Android, iOS, JavaScript, और Places API के लिए, जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा के बारे में ज़्यादा जानें.

ऑटोमेटेड सिस्टम

अपने-आप काम करने वाले सिस्टम, पूरे और ऐसे पिन कोड को प्रोसेस करते हैं जिनमें कोई गड़बड़ी न हो: Geocoding API वेब सेवा, पूरी पिन कोड स्ट्रिंग (उदाहरण के लिए, "48 Pirrama Rd, Pyrmont, NSW, Australia") जैसी ऐसी क्वेरी को बेहतर तरीके से मैनेज करती है जिनमें कोई गड़बड़ी न हो. पते को जियोकोड करने की सुविधा देने वाला बैकएंड, दुनिया भर के पतों की ज़्यादा कवरेज देता है. साथ ही, इस तरह की पूरी और साफ़ क्वेरी के लिए, बेहतर क्वालिटी के नतीजे देने के लिए ऑप्टिमाइज़ किया गया है.

अपने-आप काम करने वाला सिस्टम, अस्पष्ट क्वेरी को प्रोसेस करता है: अस्पष्ट क्वेरी ऐसी होती हैं जिनमें पते का फ़ॉर्मैट गलत होता है, पते अधूरे होते हैं या स्पेलिंग में गड़बड़ियां होती हैं. ऑटोमेटेड सिस्टम के लिए, हमारा सुझाव है कि आप Geocoding API वेब सेवा का इस्तेमाल करें. हालांकि, जियोकोडिंग एपीआई को ऐसी क्वेरी के लिए डिज़ाइन नहीं किया गया है जिनमें जगह की जानकारी साफ़ तौर पर न दी गई हो. इसलिए, हो सकता है कि ऐसी क्वेरी के जवाब में कम सटीक नतीजे मिलें या कोई नतीजा न मिले. अगर आपका ऑटोमेटेड सिस्टम, उपयोगकर्ता के इनपुट से मिली ऐसी क्वेरी को तेज़ी से प्रोसेस करता है जिनमें कई विकल्प हो सकते हैं, तो आपको अपने ऐप्लिकेशन में इंटरैक्टिव एलिमेंट जोड़ने से फ़ायदा हो सकता है. इसके लिए, Places API में जगह की जानकारी के लिए ऑटोकंप्लीट की सुविधा का इस्तेमाल करें. इस सुविधा को कई संभावित विकल्प दिखाने और उपयोगकर्ता को उनमें से किसी एक को चुनने की अनुमति देने के लिए डिज़ाइन किया गया है. Places API, एक जगह का आईडी दिखाता है. इसे Geocoding API वेब सेवा को पूरी तरह से अलग-अलग जगहों के तौर पर पास किया जा सकता है. इसके बाद, यह सेवा पते की पूरी जानकारी दिखाती है और पते को latlng में जियोकोड करती है. Android, iOS, JavaScript, और Places API के लिए, जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा के बारे में ज़्यादा जानें.

Directions API और Distance Matrix API के लिए इंतज़ार का समय कम करना

जब ऑरिजिन, डेस्टिनेशन या वेस्टपॉइंट को पते की स्ट्रिंग के तौर पर बताया जाता है, तो Directions API और Distance Matrix API, इन पतों को जियोकोड करने के लिए, उसी बैकएंड का इस्तेमाल करते हैं जिसका इस्तेमाल Geocoding API करता है. ऐसा, निर्देशों का हिसाब लगाने से पहले किया जाता है. इससे, लैटिन और लॉन्गिट्यूड या जगह के आईडी के तौर पर एक ही जगह की जानकारी देने की तुलना में, इंतज़ार का समय काफ़ी बढ़ जाता है.

अगर आपका ऐप्लिकेशन, उपयोगकर्ता के इनपुट का जवाब देने जैसी किसी ऐसी स्थिति में, रिस्पॉन्स में लगने वाले समय को ध्यान में रखकर, Directions API या Distance Matrix API का इस्तेमाल करता है और आपके ऑरिजिन, डेस्टिनेशन या वेस्टपॉइंट को शुरुआत में पता करने के लिए, पते की स्ट्रिंग का इस्तेमाल किया जाता है, तो हमारा सुझाव है कि आप पते की स्ट्रिंग को जगह के आईडी में बदलने के लिए, Places API की जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा का इस्तेमाल करें. इसके बाद, जगह के आईडी को Directions API या Distance Matrix API को पास करें. Android, iOS, JavaScript, और Places API के लिए, जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सेवा के बारे में ज़्यादा जानें. जगह की जानकारी के लिए ऑटोकंप्लीट और निर्देशों के JavaScript उदाहरण भी देखें.

नतीजा

इस्तेमाल के उदाहरण के आधार पर, पतों को जियोकोड करते समय, Geocoding API का इस्तेमाल करने या Geocoding API के साथ जगह की जानकारी के लिए ऑटोकंप्लीट की सेवा का इस्तेमाल करने से, ऐसे ऐप्लिकेशन बनाए जा सकते हैं जो उपयोगकर्ताओं को जियोकोडिंग के सटीक नतीजे देते हैं. साथ ही, इन ऐप्लिकेशन में इंतज़ार का समय भी कम होता है.

गड़बड़ियां मैनेज करना और फिर से कोशिश करना

अगर आपको UNKNOWN_ERROR जवाब मिलते हैं, तो इनकी वजह थोड़े समय के लिए होने वाली गड़बड़ियां होती हैं. इन गड़बड़ियों को ठीक करने के लिए, कुछ देर बाद फिर से कोशिश करें. हमारा सुझाव है कि आप Google Maps Platform की वेब सेवाओं की क्लाइंट लाइब्रेरी का इस्तेमाल करें. इनमें फिर से कोशिश करने का लॉजिक शामिल होता है. साथ ही, ये Google Maps Platform के प्रीमियम प्लान की पुष्टि करने की सुविधा के साथ काम करती हैं. Google Maps Services के लिए, Java क्लाइंट, Python क्लाइंट, Go क्लाइंट, और Node.js क्लाइंट कम्यूनिटी की मदद से बनाई गई क्लाइंट लाइब्रेरी हैं. ये GitHub पर डाउनलोड करने और योगदान देने के लिए उपलब्ध हैं. यहां आपको इंस्टॉल करने के निर्देश और सैंपल कोड भी मिलेंगे.

अगर आपको रिस्पॉन्स के तौर पर OVER_QUERY_LIMIT स्टेटस कोड मिलता है, तो इसका मतलब है कि आपने एपीआई के लिए इस्तेमाल की सीमाएं पार कर ली हैं. हमारा सुझाव है कि आप इस्तेमाल को ऑप्टिमाइज़ करने की इन रणनीतियों को आज़माएं.