जियोकोडिंग, पतों (जैसे, मोहल्ले का पता) को भौगोलिक निर्देशांकों (अक्षांश और देशांतर) में बदलने की प्रोसेस है. इनका इस्तेमाल, मैप पर मार्कर लगाने या मैप की पोज़िशन तय करने के लिए किया जा सकता है. इस दस्तावेज़ का मकसद, पतों को जियोकोड करते समय ध्यान में रखी जाने वाली बातों के बारे में बताना है. इसमें बताया गया है कि Geocoding API का इस्तेमाल करना कब सही होता है और Places API की, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा का इस्तेमाल करना कब फ़ायदेमंद होता है.
आम तौर पर, पूरे पते (उदाहरण के लिए, "48 Pirrama Rd, Pyrmont, NSW, Australia") को जियोकोड करने के लिए, Geocoding API का इस्तेमाल करें. जब आपको अस्पष्ट (अधूरे) पतों के लिए जियोकोडिंग करनी हो या आपको कम समय में जवाब देने वाले ऐप्लिकेशन के लिए जियोकोडिंग करनी हो, तब Places API की Place Autocomplete सेवा का इस्तेमाल करें. जैसे, उपयोगकर्ता के इनपुट का जवाब देते समय.
इस्तेमाल के उदाहरण और एपीआई के सुझाव
| इस्तेमाल के उदाहरण और एपीआई के सुझाव | |
|---|---|
| उपयोगकर्ता के इनपुट का रीयल टाइम में जवाब देना (इसमें उपयोगकर्ता के डाले गए ऐसे पते शामिल हैं जो साफ़ तौर पर समझ नहीं आते, अधूरे हैं, गलत तरीके से फ़ॉर्मैट किए गए हैं या जिनकी स्पेलिंग गलत है) | जगह का आईडी पाने के लिए, Places API की Place Autocomplete सेवा का इस्तेमाल करें. इसके बाद, Geocoding API का इस्तेमाल करके, जगह के आईडी को अक्षांश/देशांतर में बदलें. |
| ऑटोमेटेड सिस्टम, डाक पते को पूरी तरह से और साफ़ तौर पर प्रोसेस करते हैं. जैसे, “48 Pirrama Rd, Pyrmont, NSW, Australia” | Geocoding API वेब सेवा का इस्तेमाल करें. |
| अस्पष्ट क्वेरी को प्रोसेस करने वाले ऑटोमेटेड सिस्टम (कार्रवाइयों को अपने-आप पूरा करने वाले सिस्टम) (उदाहरण के लिए, अधूरे, खराब फ़ॉर्मैट वाले या गलत स्पेलिंग वाले पते) | ऑटोमेटेड सिस्टम को Geocoding API वेब सेवा का इस्तेमाल करने का सुझाव दें. हालांकि, उपयोगकर्ता के इनपुट से मिली, अधूरी या गलत स्पेलिंग वाली क्वेरी की ज़्यादा दर वाले ऑटोमेटेड सिस्टम (कार्रवाइयों को अपने-आप पूरा करने वाले सिस्टम) को, इंटरैक्टिव प्लेस ऑटोकंप्लीट विजेट जोड़ने से फ़ायदा मिल सकता है. इससे उपयोगकर्ता, नतीजा चुन सकते हैं और पते की गलत स्पेलिंग लिखने से बच सकते हैं. |
| देरी से जुड़ी समस्याएं: Directions API (लेगसी) या Distance Matrix API (लेगसी) का इस्तेमाल करने पर, शुरुआत की जगह, मंज़िल या वेपॉइंट को पते की स्ट्रिंग के तौर पर बताने पर, देरी से जुड़ी समस्याएं आ सकती हैं | जगह के आईडी पाने के लिए, Places API की Place Autocomplete सेवा का इस्तेमाल करके, जियोकोडिंग में लगने वाले समय को कम करें. इसके बाद, जगह के आईडी को Directions API (लेगसी) या Distance Matrix API (लेगसी) को पास करें. |
उपयोगकर्ता के इनपुट का जवाब देना
उपयोगकर्ता के इनपुट पर रीयल-टाइम में जवाब देने वाले ऐप्लिकेशन के लिए, दो मुख्य बातों का ध्यान रखना ज़रूरी है. इनसे एपीआई के विकल्प पर असर पड़ता है:
- उपयोगकर्ता आम तौर पर, पते को धीरे-धीरे डालता है. जैसे, "123 मेन स्ट्रीट". इसलिए, अधूरे और अस्पष्ट पतों को जियोकोड करने की सुविधा फ़ायदेमंद होती है. इससे उपयोगकर्ता को नतीजे जल्दी मिलते हैं.
- उपयोगकर्ता के इनपुट का जवाब देने वाले ऐप्लिकेशन, लेटेन्सी के लिए बहुत संवेदनशील होते हैं.
इन दो बातों की वजह से, Places API में किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा, उपयोगकर्ता के इनपुट का जवाब देने के लिए सबसे सही है. किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा को इस तरह डिज़ाइन किया गया है कि यह कई संभावित विकल्प दिखाती है. साथ ही, उपयोगकर्ता को उनमें से कोई विकल्प चुनने की सुविधा देती है. Places API को सिर्फ़ जियोकोड या पते खोजने के लिए इस्तेमाल किया जा सकता है. इसमें कारोबारों को शामिल नहीं किया जाता. इसके अलावा, ऑटोकंप्लीट लुकअप फ़ंक्शन, किसी जगह के हिसाब से नतीजे दिखाने के लिए पक्षपात कर सकता है. Places API, जगह का आईडी दिखाता है. इसे Geocoding API की वेब सेवा को पूरी तरह से साफ़ तौर पर बताई गई जगह के तौर पर पास किया जा सकता है. इसके बाद, यह पते की पूरी जानकारी दिखाता है और पते को अक्षांश और देशांतर में जियोकोड करता है. जगह के आईडी को अन्य एपीआई में भी पास किया जा सकता है. जैसे, Directions API (लेगसी) और Distance Matrix API (लेगसी). इसके बारे में जानने के लिए, लेटेंसी कम करना लेख पढ़ें.
Geocoding API में पते की जियोकोडिंग में ज़्यादा समय लगता है. साथ ही, यह अधूरी या अस्पष्ट क्वेरी के लिए कम सटीक नतीजे देता है. इसलिए, इसे उन ऐप्लिकेशन के लिए इस्तेमाल करने का सुझाव नहीं दिया जाता है जिन्हें उपयोगकर्ता के इनपुट पर रीयल टाइम में जवाब देना होता है.
Android, iOS, JavaScript, और Places API के लिए, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा के बारे में ज़्यादा जानकारी पाएं.
ऑटोमेटेड सिस्टम (कार्रवाइयों को अपने-आप पूरा करने वाले सिस्टम)
ऑटोमेटेड सिस्टम, पूरे और सटीक पते प्रोसेस करते हैं: पूरे और सटीक पते वाली क्वेरी (उदाहरण के लिए, "48 Pirrama Rd, Pyrmont, NSW, Australia") को Geocoding API की वेब सेवा सबसे अच्छी तरह से हैंडल करती है. पते को जियोकोड करने वाला बैकएंड, दुनिया भर के पतों को ज़्यादा कवरेज देता है. साथ ही, इस तरह की पूरी और साफ़ तौर पर बताई गई क्वेरी के लिए, इसे बेहतर क्वालिटी वाले नतीजे देने के लिए ऑप्टिमाइज़ किया गया है.
अस्पष्ट क्वेरी को प्रोसेस करने वाला ऑटोमेटेड सिस्टम (कार्रवाइयों को अपने-आप पूरा करने वाला सिस्टम): अस्पष्ट क्वेरी वे होती हैं जिनमें गलत तरीके से फ़ॉर्मैट किए गए पते, अधूरे पते या स्पेलिंग की गलतियां होती हैं. ऑटोमेटेड सिस्टम के लिए, हम Geocoding API वेब सेवा का इस्तेमाल करने का सुझाव देते हैं. हालांकि, Geocoding API को ऐसी क्वेरी के लिए डिज़ाइन नहीं किया गया है जिनमें साफ़ तौर पर जानकारी न दी गई हो. ऐसी क्वेरी के जवाब में, यह कम सटीक नतीजे या कोई नतीजा नहीं दिखा सकता. अगर आपका ऑटोमेटेड सिस्टम, उपयोगकर्ता के इनपुट से मिली ऐसी क्वेरी को प्रोसेस करता है जिनके बारे में साफ़ तौर पर नहीं बताया गया है, तो आपको अपने ऐप्लिकेशन में इंटरैक्टिव एलिमेंट जोड़ना चाहिए. इसके लिए, Places API में मौजूद Place Autocomplete सेवा का इस्तेमाल करें. ऐसा इसलिए, क्योंकि इसे कई संभावित विकल्प दिखाने और उपयोगकर्ता को उनमें से किसी एक को चुनने की अनुमति देने के लिए डिज़ाइन किया गया है. Places API, जगह का आईडी दिखाता है. इसे Geocoding API की वेब सेवा को, जगह की पूरी जानकारी के तौर पर पास किया जा सकता है. इसके बाद, यह सेवा पते की पूरी जानकारी दिखाती है और पते को अक्षांश/देशांतर में जियोकोड करती है. Android, iOS, JavaScript, और Places API के लिए, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा के बारे में ज़्यादा जानें.
Directions API (लेगसी) और Distance Matrix API (लेगसी) के लिए, इंतज़ार का समय कम करना
जब ऑरिजिन, डेस्टिनेशन या वेपॉइंट को पते के स्ट्रिंग के तौर पर तय किया जाता है, तब Directions API (लेगसी) और Distance Matrix API (लेगसी), इन पतों को जियोकोड करने के लिए Geocoding API के बैकएंड का इस्तेमाल करते हैं. इसके बाद, ये रास्ते का हिसाब लगाते हैं. इन जगहों की जानकारी को latlng या जगह के आईडी के तौर पर सेट करने की तुलना में, इसमें काफ़ी ज़्यादा समय लगता है.
अगर आपका ऐप्लिकेशन, उपयोगकर्ता के इनपुट का जवाब देने जैसी स्थितियों में Directions API (लेगसी) या Distance Matrix API (लेगसी) का इस्तेमाल करता है और आपके ऑरिजिन, डेस्टिनेशन या वेपॉइंट को शुरू में पते के स्ट्रिंग के तौर पर तय किया जाता है, तो हमारा सुझाव है कि आप Places API की Place Autocomplete सेवा का इस्तेमाल करके, पते के स्ट्रिंग को जगह के आईडी में बदलें. इसके बाद, जगह के आईडी को Directions API (लेगसी) या Distance Matrix API (लेगसी) को पास करें. इससे, जवाब मिलने में लगने वाले समय को कम किया जा सकता है. Android, iOS, JavaScript, और Places API के लिए, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा के बारे में ज़्यादा जानकारी पाएं. जगह के नाम अपने-आप पूरे होने और दिशाओं की जानकारी देने वाले JavaScript के उदाहरण भी देखें.
नतीजा
इस्तेमाल के उदाहरण के आधार पर, Geocoding API का इस्तेमाल अकेले किया जा सकता है या इसे किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा के साथ जोड़ा जा सकता है. इससे आपको ऐसे ऐप्लिकेशन बनाने में मदद मिलती है जो सटीक जियोकोडिंग के नतीजे देते हैं और जिनमें अनुरोध पूरा होने में कम समय लगता है.
गड़बड़ियों और फिर से कोशिश करने की सुविधा को मैनेज करना
अगर आपको UNKNOWN_ERROR जवाब मिलते हैं, तो ये कुछ समय के लिए होने वाली गड़बड़ियों की वजह से मिलते हैं. इन्हें ठीक करने के लिए, कुछ देर बाद फिर से कोशिश करें. हमारा सुझाव है कि आप Google Maps Platform की वेब सेवाओं की
क्लाइंट लाइब्रेरी का इस्तेमाल करें. इनमें फिर से कोशिश करने की सुविधा शामिल होती है. साथ ही, ये Google Maps Platform Premium Plan की पुष्टि करने की सुविधा के साथ काम करती हैं.
Java क्लाइंट,
Python क्लाइंट,
Go क्लाइंट,
और Node.js क्लाइंट
Google Maps की सेवाओं के लिए, कम्यूनिटी की मदद से काम करने वाली क्लाइंट लाइब्रेरी हैं. ये GitHub पर डाउनलोड करने और योगदान देने के लिए उपलब्ध हैं. यहां आपको इंस्टॉल करने के निर्देश और सैंपल कोड भी मिलेगा.
अगर आपको जवाब के तौर पर OVER_QUERY_LIMIT स्टेटस कोड मिलता है, तो इसका मतलब है कि आपने एपीआई के लिए इस्तेमाल करने की सीमाएं पार कर ली हैं. हमारा सुझाव है कि आप
इस्तेमाल को ऑप्टिमाइज़ करने की इन रणनीतियों को आज़माएं.