Place Autocomplete (लेगसी) एक वेब सेवा है. यह एचटीटीपी अनुरोध के जवाब में, जगह के सुझाव देती है. अनुरोध में टेक्स्ट वाली खोज स्ट्रिंग और जगह की जानकारी देने वाले वैकल्पिक पैरामीटर शामिल होते हैं. इस सेवा का इस्तेमाल, टेक्स्ट के आधार पर की गई भौगोलिक खोजों के लिए, अपने-आप पूरा होने की सुविधा देने के लिए किया जा सकता है. इसके लिए, यह सेवा उपयोगकर्ता के टाइप करते समय, कारोबारों, पतों, और लोकप्रिय जगहों जैसी जगहों की जानकारी दिखाती है.
Place Autocomplete (लेगसी) के अनुरोध
Place Autocomplete (लेगसी), Places API का हिस्सा है. यह Places API के साथ एपीआई कुंजी और कोटा शेयर करता है.
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी), पूरे शब्दों और सबस्ट्रिंग से मैच कर सकती है. इससे जगहों के नाम, पते, और प्लस कोड का पता लगाया जा सकता है. इसलिए, ऐप्लिकेशन उपयोगकर्ता के टाइप करते समय ही क्वेरी भेज सकते हैं, ताकि जगह की जानकारी के बारे में तुरंत अनुमान लगाया जा सके.
प्लस कोड को सही तरीके से फ़ॉर्मैट करना ज़रूरी है. इसका मतलब है कि आपको प्लस के निशान को यूआरएल के हिस्से के तौर पर नहीं, बल्कि अलग से दिखाने के लिए %2B के तौर पर मार्क करना होगा. साथ ही, आपको स्पेस को यूआरएल के हिस्से के तौर पर नहीं, बल्कि अलग से दिखाने के लिए %20 के तौर पर मार्क करना होगा.
- ग्लोबल कोड, चार वर्णों का एरिया कोड होता है. साथ ही, छह या इससे ज़्यादा वर्णों का लोकल कोड होता है. उदाहरण के लिए, यूआरएल-एस्केप ग्लोबल कोड
849VCWC8+R9है849VCWC8%2BR9. - कंपाउंड कोड, छह वर्णों (या इससे ज़्यादा) का लोकल कोड होता है. इसमें जगह की जानकारी साफ़ तौर पर दी जाती है. उदाहरण के लिए, यूआरएल-एस्केप किया गया कंपाउंड कोड
CWC8+R9 Mountain View, CA, USA,CWC8%2BR9%20Mountain%20View%20CA%20USAहै.
जवाब के तौर पर मिली अनुमानित जगहों को उपयोगकर्ता को दिखाने के लिए डिज़ाइन किया गया है, ताकि वह अपनी पसंद की जगह चुन सके. जवाब में मिली किसी भी जगह के बारे में ज़्यादा जानकारी पाने के लिए, जगह के बारे में ज़्यादा जानकारी (लेगसी) का अनुरोध भेजा जा सकता है.
जगह के नाम अपने-आप पूरे होने की सुविधा (लेगसी) का अनुरोध, इस तरह का एचटीटीपी यूआरएल होता है:
https://maps.googleapis.com/maps/api/place/autocomplete/output?parameters
यहां output इनमें से कोई भी वैल्यू हो सकती है:
json(सुझाया गया) JavaScript Object Notation (JSON) में आउटपुट दिखाता हैxmlसे पता चलता है कि आउटपुट एक्सएमएल के तौर पर है
जगह के नाम अपने-आप भरने की सुविधा (लेगसी) के लिए अनुरोध शुरू करने के लिए, कुछ पैरामीटर ज़रूरी होते हैं.
यूआरएल में स्टैंडर्ड के तौर पर, सभी पैरामीटर को एंपरसैंड (&) वर्ण का इस्तेमाल करके अलग किया जाता है. पैरामीटर और उनकी संभावित वैल्यू की सूची यहां दी गई है.
ज़रूरी पैरामीटर
-
इनपुट
वह टेक्स्ट स्ट्रिंग जिसमें खोजना है. जगह के नाम अपने-आप पूरे होने की सुविधा, इस स्ट्रिंग के आधार पर मिलते-जुलते नाम दिखाएगी. साथ ही, खोज के नतीजों को उनकी अहमियत के हिसाब से क्रम में लगाएगी.
ज़रूरी नहीं पैरामीटर
-
कॉम्पोनेंट
जगहों का ऐसा ग्रुप जहां आपको खोज के नतीजों को सीमित रखना है. कॉम्पोनेंट का इस्तेमाल करके, ज़्यादा से ज़्यादा पांच देशों के हिसाब से फ़िल्टर किया जा सकता है. देशों के नाम, दो वर्णों वाले ISO 3166-1 ऐल्फ़ा-2 के साथ काम करने वाले देश कोड के तौर पर पास किए जाने चाहिए. उदाहरण के लिए:
components=country:frसे, आपको सिर्फ़ फ़्रांस में मौजूद जगहों के नतीजे दिखेंगे. एक से ज़्यादा देशों के लिए, पाइप वर्ण|को सेपरेटर के तौर पर इस्तेमाल करके,country:XXफ़िल्टर के तौर पर पास करना होगा. उदाहरण के लिए:components=country:us|country:pr|country:vi|country:gu|country:mpसे, आपको सिर्फ़ अमेरिका और उसके संगठित क्षेत्रों में मौजूद जगहों के नतीजे दिखेंगे.ध्यान दें: अगर आपको देश के कोड से अनचाहे नतीजे मिलते हैं, तो पुष्टि करें कि आपने ऐसा कोड इस्तेमाल किया हो जिसमें वे देश, आश्रित क्षेत्र, और भौगोलिक दिलचस्पी वाले खास इलाके शामिल हों जिन्हें आपको टारगेट करना है. आपको कोड की जानकारी यहां मिल सकती है: Wikipedia: List of ISO 3166 country codes या ISO Online Browsing Platform. -
भाषा
वह भाषा जिसमें नतीजे दिखाने हैं.
- इस्तेमाल की जा सकने वाली भाषाओं की सूची देखें. Google, इस सुविधा के लिए उपलब्ध भाषाओं को अक्सर अपडेट करता रहता है. इसलिए, हो सकता है कि इस सूची में पूरी जानकारी शामिल न हो.
-
अगर
languageनहीं दिया जाता है, तो एपीआई,Accept-Languageहेडर में बताई गई पसंदीदा भाषा का इस्तेमाल करने की कोशिश करता है. - एपीआई, मोहल्ले का ऐसा पता देने की पूरी कोशिश करता है जिसे उपयोगकर्ता और स्थानीय लोग, दोनों पढ़ सकें. इस लक्ष्य को पूरा करने के लिए, यह स्थानीय भाषा में सड़क के पते दिखाता है. अगर ज़रूरी हो, तो यह पते को ऐसी स्क्रिप्ट में लिप्यंतरित करता है जिसे उपयोगकर्ता पढ़ सकता है. ऐसा करते समय, यह उपयोगकर्ता की पसंदीदा भाषा का ध्यान रखता है. अन्य सभी पते, चुनी गई भाषा में दिखाए जाते हैं. पते के सभी कॉम्पोनेंट, एक ही भाषा में दिखाए जाते हैं. यह भाषा, पहले कॉम्पोनेंट से चुनी जाती है.
- अगर नाम आपकी पसंदीदा भाषा में उपलब्ध नहीं है, तो एपीआई सबसे मिलते-जुलते नाम का इस्तेमाल करता है.
- पसंदीदा भाषा का असर, एपीआई से मिले नतीजों के सेट और उनके क्रम पर पड़ता है. जियोकोडर, भाषा के हिसाब से संक्षिप्त शब्दों का अलग-अलग मतलब निकालता है. जैसे, सड़क के टाइप के लिए इस्तेमाल किए गए संक्षिप्त शब्द या ऐसे समानार्थी शब्द जो एक भाषा में मान्य हो सकते हैं, लेकिन दूसरी भाषा में नहीं. उदाहरण के लिए, हंगेरियन भाषा में utca और tér, सड़क के लिए इस्तेमाल होने वाले समानार्थी शब्द हैं.
-
जगह
वह पॉइंट जिसके आस-पास की जगह की जानकारी वापस लानी है. इसे
latitude,longitudeके तौर पर तय किया जाना चाहिए. जगह की जानकारी देते समय,radiusपैरामीटर की वैल्यू भी देनी होगी. अगरradiusनहीं दिया गया है, तोlocationपैरामीटर को अनदेखा कर दिया जाता है.Text Search API का इस्तेमाल करते समय, `location` पैरामीटर को बदला जा सकता है. ऐसा तब होता है, जब `query` में कोई जगह साफ़ तौर पर बताई गई हो. जैसे, `Market in Barcelona`. -
locationbias
किसी खास इलाके में नतीजे पाने के लिए, दायरे के साथ-साथ अक्षांश/देशांतर या आयत के बिंदुओं को दिखाने वाले दो अक्षांश/देशांतर जोड़े बताएं. अगर इस पैरामीटर को नहीं दिया जाता है, तो एपीआई डिफ़ॉल्ट रूप से आईपी पते के हिसाब से नतीजे दिखाता है.
-
आईपी पते के हिसाब से नतीजे दिखाना: इस विकल्प का इस्तेमाल करने पर, एपीआई को आईपी पते के हिसाब से नतीजे दिखाने का निर्देश मिलता है. स्ट्रिंग
ipbiasपास करें (इस विकल्प में कोई अतिरिक्त पैरामीटर नहीं है). -
सर्कुलर: यह एक स्ट्रिंग होती है. इसमें मीटर में रेडियस और दशमलव डिग्री में अक्षांश/देशांतर की जानकारी होती है. इस फ़ॉर्मैट का इस्तेमाल करें:
circle:radius@lat,lng. -
आयताकार: यह एक स्ट्रिंग होती है. इसमें दशमलव डिग्री में दो अक्षांश/देशांतर के जोड़े दिए जाते हैं. ये जोड़े, आयत के दक्षिण/पश्चिम और उत्तर/पूर्व बिंदुओं को दिखाते हैं. इस फ़ॉर्मैट का इस्तेमाल करें:
rectangle:south,west|north,east. ध्यान दें कि पूरब/पश्चिम की वैल्यू को -180 से 180 की रेंज में और उत्तर/दक्षिण की वैल्यू को -90 से 90 की रेंज में शामिल किया जाता है.
-
आईपी पते के हिसाब से नतीजे दिखाना: इस विकल्प का इस्तेमाल करने पर, एपीआई को आईपी पते के हिसाब से नतीजे दिखाने का निर्देश मिलता है. स्ट्रिंग
-
locationrestriction
नतीजों को किसी खास इलाके तक सीमित करें. इसके लिए, रेडियस के साथ-साथ अक्षांश/देशांतर या आयत के बिंदुओं को दिखाने वाले दो अक्षांश/देशांतर जोड़े तय करें.
-
सर्कुलर: यह एक स्ट्रिंग होती है. इसमें मीटर में रेडियस और दशमलव डिग्री में अक्षांश/देशांतर की जानकारी होती है. इस फ़ॉर्मैट का इस्तेमाल करें:
circle:radius@lat,lng. -
आयताकार: यह एक स्ट्रिंग होती है. इसमें दशमलव डिग्री में दो अक्षांश/देशांतर के जोड़े दिए जाते हैं. ये जोड़े, आयत के दक्षिण/पश्चिम और उत्तर/पूर्व बिंदुओं को दिखाते हैं. इस फ़ॉर्मैट का इस्तेमाल करें:
rectangle:south,west|north,east. ध्यान दें कि पूरब/पश्चिम की वैल्यू को -180 से 180 की रेंज में और उत्तर/दक्षिण की वैल्यू को -90 से 90 की रेंज में शामिल किया जाता है.
-
सर्कुलर: यह एक स्ट्रिंग होती है. इसमें मीटर में रेडियस और दशमलव डिग्री में अक्षांश/देशांतर की जानकारी होती है. इस फ़ॉर्मैट का इस्तेमाल करें:
-
ऑफ़सेट
इनपुट शब्द में, उस आखिरी वर्ण की पोज़िशन जिसे सेवा, अनुमानों से मिलान करने के लिए इस्तेमाल करती है. उदाहरण के लिए, अगर इनपुट
Googleहै और ऑफ़सेट 3 है, तो सेवाGooसे मेल खाएगी. ऑफ़सेट से तय की गई स्ट्रिंग का मिलान, इनपुट शब्द के सिर्फ़ पहले शब्द से किया जाता है. उदाहरण के लिए, अगर इनपुट शब्दGoogle abcहै और ऑफ़सेट 3 है, तो सेवाGoo abcसे मिलान करने की कोशिश करेगी. अगर कोई ऑफ़सेट नहीं दिया जाता है, तो सेवा पूरे शब्द का इस्तेमाल करेगी. ऑफ़सेट को आम तौर पर, टेक्स्ट कैरेट की पोज़िशन पर सेट किया जाना चाहिए. -
origin
वह शुरुआती पॉइंट जहां से मंज़िल तक की सीधी दूरी का हिसाब लगाया जाता है. यह दूरी
distance_metersके तौर पर दिखाई जाती है. अगर इस वैल्यू को शामिल नहीं किया जाता है, तो सीधी दूरी नहीं दिखाई जाएगी. इसेlatitude,longitudeके तौर पर तय किया जाना चाहिए. -
दायरा
यह जगह के नतीजों को दिखाने के लिए, दूरी (मीटर में) तय करता है.
locationऔरradiusपैरामीटर पास करके, किसी खास सर्कल के हिसाब से नतीजे दिखाए जा सकते हैं. ऐसा करने पर, Places सेवा को यह निर्देश मिलता है कि वह उस सर्कल के अंदर के नतीजे दिखाए. हालांकि, तय की गई जगह से बाहर के नतीजे अब भी दिख सकते हैं.सर्च के टाइप और अन्य पैरामीटर के आधार पर, रेडियस की वैल्यू अपने-आप ज़्यादा से ज़्यादा वैल्यू पर सेट हो जाएगी.
- ऑटोकंप्लीट: 50,000 मीटर
-
आस-पास की जगहों की जानकारी:
keywordयाnameके साथ: 50,000 मीटर-
keywordयाnameके बिना-
यह 50,000 मीटर तक हो सकता है. यह क्षेत्र की आबादी के हिसाब से, ज़रूरत के मुताबिक कम या ज़्यादा होता है. यह
rankbyपैरामीटर से अलग होता है. -
rankby=distanceका इस्तेमाल करने पर, रेडियस पैरामीटर स्वीकार नहीं किया जाएगा. इससेINVALID_REQUESTदिखेगा.
-
यह 50,000 मीटर तक हो सकता है. यह क्षेत्र की आबादी के हिसाब से, ज़रूरत के मुताबिक कम या ज़्यादा होता है. यह
- क्वेरी अपने-आप पूरी होने की सुविधा: 50,000 मीटर
- टेक्स्ट से खोजें: 50,000 मीटर
-
प्रांत
क्षेत्र का कोड, जिसे दो वर्णों वाली ccTLD ("टॉप-लेवल डोमेन") वैल्यू के तौर पर दिखाया जाता है. ज़्यादातर ccTLD कोड, ISO 3166-1 कोड के जैसे ही होते हैं. हालांकि, कुछ अपवाद भी हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "uk" (.co.uk) है, जबकि इसका ISO 3166-1 कोड "gb" है. तकनीकी तौर पर, यह "ग्रेट ब्रिटेन और उत्तरी आयरलैंड का यूनाइटेड किंगडम" के लिए है.
-
sessiontoken
यह एक रैंडम स्ट्रिंग है. इससे बिलिंग के लिए, अपने-आप भरने की सुविधा वाले सेशन की पहचान की जाती है.
सेशन तब शुरू होता है, जब उपयोगकर्ता कोई क्वेरी टाइप करना शुरू करता है. यह तब खत्म होता है, जब वह कोई जगह चुनता है और जगह की जानकारी के लिए कॉल किया जाता है. हर सेशन में कई क्वेरी हो सकती हैं. इसके बाद, किसी एक जगह को चुना जाता है. किसी सेशन में हर अनुरोध के लिए इस्तेमाल की गई एपीआई कुंजियां, एक ही Google Cloud Console प्रोजेक्ट से जुड़ी होनी चाहिए. सेशन खत्म होने के बाद, टोकन मान्य नहीं रहता. आपके ऐप्लिकेशन को हर सेशन के लिए नया टोकन जनरेट करना होगा. अगर
sessiontokenपैरामीटर शामिल नहीं किया जाता है या सेशन टोकन का दोबारा इस्तेमाल किया जाता है, तो सेशन के लिए उसी तरह शुल्क लिया जाता है जैसे कोई सेशन टोकन नहीं दिया गया हो. इसका मतलब है कि हर अनुरोध के लिए अलग से बिल भेजा जाता है.हमारा सुझाव है कि आप इन दिशा-निर्देशों का पालन करें:
- ऑटोमैटिक भरने की सुविधा वाले सभी सेशन के लिए, सेशन टोकन का इस्तेमाल करें.
- हर सेशन के लिए नया टोकन जनरेट करें. हमारा सुझाव है कि आप वर्शन 4 यूयूआईडी का इस्तेमाल करें.
- पक्का करें कि किसी सेशन में Place Autocomplete और Place Details के सभी अनुरोधों के लिए इस्तेमाल की गई एपीआई कुंजियां, एक ही Cloud Console प्रोजेक्ट से जुड़ी हों.
- पक्का करें कि हर नए सेशन के लिए, एक यूनीक सेशन टोकन पास किया गया हो. एक से ज़्यादा सेशन के लिए एक ही टोकन का इस्तेमाल करने पर, हर अनुरोध के लिए अलग से बिल भेजा जाएगा.
-
strictbounds
यह सिर्फ़ उन जगहों की जानकारी दिखाता है जो
locationऔरradiusके हिसाब से तय किए गए इलाके में आती हैं. यह एक पाबंदी है, पूर्वाग्रह नहीं. इसका मतलब है कि इस क्षेत्र से बाहर के नतीजे नहीं दिखाए जाएंगे. भले ही, वे उपयोगकर्ता के इनपुट से मेल खाते हों. -
प्रकार
typesपैरामीटर पास करके, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा के अनुरोध से मिले नतीजों को किसी खास तरह के नतीजों तक सीमित किया जा सकता है. यह पैरामीटर, जगहों के टाइप में दिए गए टाइप या टाइप कलेक्शन के बारे में बताता है. अगर कोई टाइप नहीं चुना जाता है, तो सभी टाइप के नतीजे दिखाए जाते हैं.किसी जगह के लिए, एक ही मुख्य टाइप चुना जा सकता है. यह टाइप, टेबल 1 या टेबल 2 में दिए गए टाइप में से चुना जा सकता है. उदाहरण के लिए, किसी ऐसे होटल के लिए
types=lodgingएट्रिब्यूट की वैल्यू सबमिट की जा सकती है जहां खाना परोसा जाता है. हालांकि, इसके लिएtypes=restaurantएट्रिब्यूट की वैल्यू सबमिट नहीं की जा सकती.typesपैरामीटर की वैल्यू के लिए, इनमें से कोई एक वैल्यू दी जा सकती है:-
Table 1 या Table 2 से ज़्यादा से ज़्यादा पांच वैल्यू. एक से ज़्यादा वैल्यू के लिए, हर वैल्यू को
|(वर्टिकल बार) से अलग करें. उदाहरण के लिए:types=book_store|cafe -
टेबल 3 में मौजूद, फ़िल्टर करने की सुविधा देने वाला कोई भी फ़ील्ड. अलग-अलग टाइप के कलेक्शन को एक साथ नहीं रखा जा सकता.
इन मामलों में, अनुरोध को
INVALID_REQUESTगड़बड़ी के साथ अस्वीकार कर दिया जाएगा: -
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के उदाहरण
सैन फ़्रांसिस्को, कैलिफ़ोर्निया के आस-पास के इलाके में मौजूद ऐसी जगहों के लिए अनुरोध जिनमें "Amoeba" स्ट्रिंग शामिल है:
URL
https://maps.googleapis.com/maps/api/place/autocomplete/json ?input=amoeba &types=establishment &location=37.76999%2C-122.44696 &radius=500 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=amoeba&types=establishment&location=37.76999%2C-122.44696&radius=500&key=YOUR_API_KEY'सैन फ़्रांसिस्को में ऐशबरी स्ट्रीट और हाइट स्ट्रीट के 500 मीटर के दायरे में मौजूद नतीजों के लिए किया गया अनुरोध:
URL
https://maps.googleapis.com/maps/api/place/autocomplete/json ?input=amoeba &types=establishment &location=37.76999%2C-122.44696&radius=500 &strictbounds=true &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=amoeba&types=establishment&location=37.76999%2C-122.44696&radius=500&strictbounds=true&key=YOUR_API_KEY'फ़्रेंच भाषा में "Vict" वाले पतों के लिए अनुरोध:
URL
https://maps.googleapis.com/maps/api/place/autocomplete/json ?input=Vict &types=geocode &language=fr &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Vict&types=geocode&language=fr&key=YOUR_API_KEY'"Vict" शब्द वाले शहरों के बारे में ब्राज़ीलियन पुर्तगाली भाषा में जानकारी पाने का अनुरोध:
URL
https://maps.googleapis.com/maps/api/place/autocomplete/json ?input=Vict &types=(cities) &language=pt_BR&key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Vict&types=(cities)&language=pt_BR&key=YOUR_API_KEY'ध्यान दें कि आपको इन उदाहरणों में मौजूद एपीआई पासकोड को अपने पासकोड से बदलना होगा.
Place Autocomplete (लेगसी) के जवाब
जगह के नाम अपने-आप भरने की सुविधा (लेगसी) के जवाब, अनुरोध के यूआरएल पाथ में मौजूद output फ़्लैग से तय किए गए फ़ॉर्मैट में मिलते हैं. यहां दिए गए नतीजे, इस बात का संकेत देते हैं कि इन पैरामीटर के साथ की गई क्वेरी के लिए क्या नतीजे मिल सकते हैं:
URL
https://maps.googleapis.com/maps/api/place/autocomplete/json ?input=Paris &types=geocode &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Paris&types=geocode&key=YOUR_API_KEY'JSON
{ "predictions": [ { "description": "Paris, France", "matched_substrings": [{ "length": 5, "offset": 0 }], "place_id": "ChIJD7fiBh9u5kcRYJSMaMOCCwQ", "reference": "ChIJD7fiBh9u5kcRYJSMaMOCCwQ", "structured_formatting": { "main_text": "Paris", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "France", }, "terms": [ { "offset": 0, "value": "Paris" }, { "offset": 7, "value": "France" }, ], "types": ["locality", "political", "geocode"], }, { "description": "Paris, TX, USA", "matched_substrings": [{ "length": 5, "offset": 0 }], "place_id": "ChIJmysnFgZYSoYRSfPTL2YJuck", "reference": "ChIJmysnFgZYSoYRSfPTL2YJuck", "structured_formatting": { "main_text": "Paris", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "TX, USA", }, "terms": [ { "offset": 0, "value": "Paris" }, { "offset": 7, "value": "TX" }, { "offset": 11, "value": "USA" }, ], "types": ["locality", "political", "geocode"], }, { "description": "Paris, TN, USA", "matched_substrings": [{ "length": 5, "offset": 0 }], "place_id": "ChIJ4zHP-Sije4gRBDEsVxunOWg", "reference": "ChIJ4zHP-Sije4gRBDEsVxunOWg", "structured_formatting": { "main_text": "Paris", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "TN, USA", }, "terms": [ { "offset": 0, "value": "Paris" }, { "offset": 7, "value": "TN" }, { "offset": 11, "value": "USA" }, ], "types": ["locality", "political", "geocode"], }, { "description": "Paris, Brant, ON, Canada", "matched_substrings": [{ "length": 5, "offset": 0 }], "place_id": "ChIJsamfQbVtLIgR-X18G75Hyi0", "reference": "ChIJsamfQbVtLIgR-X18G75Hyi0", "structured_formatting": { "main_text": "Paris", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "Brant, ON, Canada", }, "terms": [ { "offset": 0, "value": "Paris" }, { "offset": 7, "value": "Brant" }, { "offset": 14, "value": "ON" }, { "offset": 18, "value": "Canada" }, ], "types": ["neighborhood", "political", "geocode"], }, { "description": "Paris, KY, USA", "matched_substrings": [{ "length": 5, "offset": 0 }], "place_id": "ChIJsU7_xMfKQ4gReI89RJn0-RQ", "reference": "ChIJsU7_xMfKQ4gReI89RJn0-RQ", "structured_formatting": { "main_text": "Paris", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "KY, USA", }, "terms": [ { "offset": 0, "value": "Paris" }, { "offset": 7, "value": "KY" }, { "offset": 11, "value": "USA" }, ], "types": ["locality", "political", "geocode"], }, ], "status": "OK", }
XML
<?xml version="1.0" encoding="UTF-8"?> <AutocompletionResponse> <status>OK</status> <prediction> <description>Paris, France</description> <type>locality</type> <type>political</type> <type>geocode</type> <reference>ChIJD7fiBh9u5kcRYJSMaMOCCwQ</reference> <term> <value>Paris</value> <offset>0</offset> </term> <term> <value>France</value> <offset>7</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <place_id>ChIJD7fiBh9u5kcRYJSMaMOCCwQ</place_id> <structured_formatting> <description>Paris</description> <subdescription>France</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> </structured_formatting> </prediction> <prediction> <description>Paris, TX, USA</description> <type>locality</type> <type>political</type> <type>geocode</type> <reference>ChIJmysnFgZYSoYRSfPTL2YJuck</reference> <term> <value>Paris</value> <offset>0</offset> </term> <term> <value>TX</value> <offset>7</offset> </term> <term> <value>USA</value> <offset>11</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <place_id>ChIJmysnFgZYSoYRSfPTL2YJuck</place_id> <structured_formatting> <description>Paris</description> <subdescription>TX, USA</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> </structured_formatting> </prediction> <prediction> <description>Paris, TN, USA</description> <type>locality</type> <type>political</type> <type>geocode</type> <reference>ChIJ4zHP-Sije4gRBDEsVxunOWg</reference> <term> <value>Paris</value> <offset>0</offset> </term> <term> <value>TN</value> <offset>7</offset> </term> <term> <value>USA</value> <offset>11</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <place_id>ChIJ4zHP-Sije4gRBDEsVxunOWg</place_id> <structured_formatting> <description>Paris</description> <subdescription>TN, USA</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> </structured_formatting> </prediction> <prediction> <description>Paris, Brant, ON, Canada</description> <type>neighborhood</type> <type>political</type> <type>geocode</type> <reference>ChIJsamfQbVtLIgR-X18G75Hyi0</reference> <term> <value>Paris</value> <offset>0</offset> </term> <term> <value>Brant</value> <offset>7</offset> </term> <term> <value>ON</value> <offset>14</offset> </term> <term> <value>Canada</value> <offset>18</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <place_id>ChIJsamfQbVtLIgR-X18G75Hyi0</place_id> <structured_formatting> <description>Paris</description> <subdescription>Brant, ON, Canada</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> </structured_formatting> </prediction> <prediction> <description>Paris, KY, USA</description> <type>locality</type> <type>political</type> <type>geocode</type> <reference>ChIJsU7_xMfKQ4gReI89RJn0-RQ</reference> <term> <value>Paris</value> <offset>0</offset> </term> <term> <value>KY</value> <offset>7</offset> </term> <term> <value>USA</value> <offset>11</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <place_id>ChIJsU7_xMfKQ4gReI89RJn0-RQ</place_id> <structured_formatting> <description>Paris</description> <subdescription>KY, USA</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> </structured_formatting> </prediction> </AutocompletionResponse>
PlacesAutocompleteResponse
| फ़ील्ड | ज़रूरी है | टाइप | ब्यौरा |
|---|---|---|---|
|
ज़रूरी है | Array<PlaceAutocompletePrediction> |
इसमें अनुमानों का कलेक्शन होता है. ज़्यादा जानकारी के लिए, PlaceAutocompletePrediction देखें. |
|
ज़रूरी है | PlacesAutocompleteStatus |
इसमें अनुरोध की स्थिति के बारे में जानकारी होती है. इसमें डीबग करने से जुड़ी जानकारी भी हो सकती है. इससे आपको यह पता लगाने में मदद मिलती है कि अनुरोध क्यों पूरा नहीं हुआ. ज़्यादा जानकारी के लिए, PlacesAutocompleteStatus देखें. |
|
ज़रूरी नहीं | स्ट्रिंग |
जब सेवा, |
|
ज़रूरी नहीं | Array<string> |
जब सेवा, अनुरोध की खास जानकारी के बारे में अतिरिक्त जानकारी दिखाती है, तो रिस्पॉन्स ऑब्जेक्ट में एक और |
नतीजों में place_id एलिमेंट खास तौर पर काम के होते हैं. इनका इस्तेमाल, किसी जगह के बारे में ज़्यादा जानकारी पाने के लिए किया जा सकता है. इसके लिए, अलग क्वेरी का इस्तेमाल किया जाता है. जगह के बारे में ज़्यादा जानकारी (लेगसी)
के अनुरोध देखें.
एक्सएमएल जवाब में एक <AutocompletionResponse> एलिमेंट होता है. इसमें दो तरह के चाइल्ड एलिमेंट होते हैं:
- एक
<status>एलिमेंट में, अनुरोध के बारे में मेटाडेटा होता है. नीचे स्टेटस कोड देखें. - शून्य या इससे ज़्यादा
<prediction>एलिमेंट. हर एलिमेंट में किसी एक जगह की जानकारी होती है. इन नतीजों के बारे में जानकारी पाने के लिए, जगह के नाम के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के नतीजे देखें. Places API, ज़्यादा से ज़्यादा पांच नतीजे दिखाता है.
हमारा सुझाव है कि आप आउटपुट फ़्लैग के तौर पर json का इस्तेमाल करें. हालांकि, अगर आपके ऐप्लिकेशन को किसी वजह से xml की ज़रूरत है, तो इसका इस्तेमाल किया जा सकता है.
एक्सएमएल ट्री को प्रोसेस करने के लिए, कुछ बातों का ध्यान रखना ज़रूरी है. इससे सही नोड और एलिमेंट का रेफ़रंस दिया जा सकता है. XML को प्रोसेस करने के बारे में जानने के लिए, XPath की मदद से XML को प्रोसेस करना लेख पढ़ें.
PlacesAutocompleteStatus
सेवा से मिले स्टेटस कोड.
OKसे पता चलता है कि एपीआई अनुरोध पूरा हो गया है.-
ZERO_RESULTSका मतलब है कि खोज पूरी हो गई है, लेकिन कोई नतीजा नहीं मिला. ऐसा तब हो सकता है, जब खोज के लिए दूर-दराज़ की किसी जगह की सीमाएं तय की गई हों. -
INVALID_REQUESTसे पता चलता है कि एपीआई अनुरोध गलत तरीके से किया गया था. आम तौर पर, ऐसाinputपैरामीटर के मौजूद न होने की वजह से होता है. -
OVER_QUERY_LIMITइनमें से किसी एक के बारे में बताता है:- आपने क्यूपीएस की सीमाएं पार कर ली हैं.
- आपके खाते में बिलिंग की सुविधा चालू नहीं है.
- महीने के 200 डॉलर के क्रेडिट या इस्तेमाल की तय सीमा को पार कर लिया गया है.
- पेमेंट का वह तरीका अब मान्य नहीं है जिसे आपने चुना है. उदाहरण के लिए, क्रेडिट कार्ड की समयसीमा खत्म हो गई है.
-
REQUEST_DENIEDमें बताया गया है कि आपका अनुरोध अस्वीकार कर दिया गया है. आम तौर पर, इसकी वजह यह होती है:- अनुरोध में एपीआई पासकोड मौजूद नहीं है.
keyपैरामीटर अमान्य है.
UNKNOWN_ERRORसे पता चलता है कि कोई गड़बड़ी हुई है.
जब Places सेवा, खोज के नतीजों को JSON फ़ॉर्मैट में दिखाती है, तो वह उन्हें predictions ऐरे में रखती है. अगर सेवा कोई नतीजा नहीं देती है (जैसे कि location रिमोट है), तो भी यह खाली predictions कलेक्शन दिखाती है. XML जवाबों में, शून्य या उससे ज़्यादा <prediction> एलिमेंट होते हैं.
PlaceAutocompletePrediction
| फ़ील्ड | ज़रूरी है | टाइप | ब्यौरा |
|---|---|---|---|
|
ज़रूरी है | स्ट्रिंग |
इसमें, दिखाए गए नतीजे का ऐसा नाम होता है जिसे आसानी से पढ़ा जा सकता है. |
|
ज़रूरी है | Array<PlaceAutocompleteMatchedSubstring> |
सबस्ट्रिंग की एक सूची, जिसमें अनुमानित नतीजे के टेक्स्ट में डाले गए शब्द की जगह के बारे में बताया गया है, ताकि चुने जाने पर शब्द को हाइलाइट किया जा सके. ज़्यादा जानकारी के लिए, PlaceAutocompleteMatchedSubstring देखें. |
|
ज़रूरी है | PlaceAutocompleteStructuredFormat |
यह पहले से फ़ॉर्मैट किया गया टेक्स्ट उपलब्ध कराता है, जिसे ऑटोकंप्लीट की सुविधा वाले नतीजों में दिखाया जा सकता है. इस कॉन्टेंट को जैसा है वैसा ही पढ़ा जाना चाहिए. फ़ॉर्मैट किए गए पते को प्रोग्राम के हिसाब से पार्स न करें. ज़्यादा जानकारी के लिए, PlaceAutocompleteStructuredFormat देखें. |
|
ज़रूरी है | Array<PlaceAutocompleteTerm> |
इसमें ऐसे शब्दों का कलेक्शन होता है जिनसे जवाब में मिली जानकारी के हर सेक्शन की पहचान होती है. जानकारी का कोई सेक्शन आम तौर पर, कॉमा से खत्म होता है. ऐरे की हर एंट्री में, ज़्यादा जानकारी के लिए, PlaceAutocompleteTerm देखें. |
|
ज़रूरी नहीं | पूर्णांक |
ऑरिजिन से सीधी दूरी, मीटर में. यह फ़ील्ड, सिर्फ़ |
|
ज़रूरी नहीं | स्ट्रिंग |
यह टेक्स्ट वाला आइडेंटिफ़ायर होता है, जो किसी जगह की यूनीक पहचान करता है. जगह की जानकारी पाने के लिए, इस आइडेंटिफ़ायर को Places API के अनुरोध के placeId फ़ील्ड में पास करें. जगह के आईडी के बारे में ज़्यादा जानने के लिए, जगह के आईडी की खास जानकारी देखें. |
|
ज़रूरी नहीं | स्ट्रिंग |
place_id देखें. |
|
ज़रूरी नहीं | Array<string> |
इसमें उन टाइप का कलेक्शन होता है जो इस जगह पर लागू होते हैं. उदाहरण के लिए:
|
PlaceAutocompleteMatchedSubstring
| फ़ील्ड | ज़रूरी है | टाइप | ब्यौरा |
|---|---|---|---|
|
ज़रूरी है | संख्या |
अनुमान के नतीजे के टेक्स्ट में, मेल खाने वाले सबस्ट्रिंग की लंबाई. |
|
ज़रूरी है | संख्या |
मिलान करने वाली सबस्ट्रिंग की शुरुआती जगह. यह जगह, अनुमान के नतीजे के टेक्स्ट में होती है. |
PlaceAutocompleteStructuredFormat
| फ़ील्ड | ज़रूरी है | टाइप | ब्यौरा |
|---|---|---|---|
|
ज़रूरी है | स्ट्रिंग |
इसमें अनुमान का मुख्य टेक्स्ट होता है. आम तौर पर, यह जगह का नाम होता है. |
|
ज़रूरी है | Array<PlaceAutocompleteMatchedSubstring> |
इसमें ज़्यादा जानकारी के लिए, PlaceAutocompleteMatchedSubstring देखें. |
|
ज़रूरी नहीं | स्ट्रिंग |
इसमें अनुमान का सेकंडरी टेक्स्ट होता है. आम तौर पर, यह जगह की जानकारी होती है. |
|
ज़रूरी नहीं | Array<PlaceAutocompleteMatchedSubstring> |
इसमें ज़्यादा जानकारी के लिए, PlaceAutocompleteMatchedSubstring देखें. |
PlaceAutocompleteTerm
| फ़ील्ड | ज़रूरी है | टाइप | ब्यौरा |
|---|---|---|---|
|
ज़रूरी है | संख्या |
यह पैरामीटर, ब्यौरे में इस शब्द की शुरुआती पोज़िशन तय करता है. इसे यूनिकोड वर्णों में मापा जाता है |
|
ज़रूरी है | स्ट्रिंग |
शब्द का टेक्स्ट. |
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) को ऑप्टिमाइज़ करना
इस सेक्शन में, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) का ज़्यादा से ज़्यादा फ़ायदा पाने के लिए, सबसे सही तरीकों के बारे में बताया गया है.
यहां कुछ सामान्य दिशा-निर्देश दिए गए हैं:
- उपयोगकर्ता इंटरफ़ेस बनाने का सबसे आसान तरीका यह है कि आप इनमें से किसी एक का इस्तेमाल करें: Maps JavaScript API जगह के नाम के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) वाला विजेट, Android के लिए Places SDK जगह के नाम के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) वाला विजेट, या iOS के लिए Places SDK जगह के नाम के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) वाला यूज़र इंटरफ़ेस कंट्रोल.
- शुरू से ही, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के डेटा फ़ील्ड के बारे में ज़रूरी जानकारी पाएं.
- जगह के हिसाब से खोज के नतीजों को प्राथमिकता देने और जगह के हिसाब से पाबंदी लगाने वाले फ़ील्ड का इस्तेमाल करना ज़रूरी नहीं है. हालांकि, इससे अपने-आप पूरा होने की सुविधा की परफ़ॉर्मेंस पर काफ़ी असर पड़ सकता है.
- गड़बड़ी को मैनेज करने की सुविधा का इस्तेमाल करें, ताकि एपीआई से गड़बड़ी का मैसेज मिलने पर आपका ऐप्लिकेशन ठीक से काम करे.
- पक्का करें कि आपका ऐप्लिकेशन, किसी भी विकल्प के न चुने जाने की स्थिति को मैनेज करता हो. साथ ही, उपयोगकर्ताओं को आगे बढ़ने का विकल्प देता हो.
लागत को ऑप्टिमाइज़ करने के सबसे सही तरीके
लागत को ऑप्टिमाइज़ करने की बुनियादी सेटिंग
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) का इस्तेमाल करने की लागत को ऑप्टिमाइज़ करने के लिए, जगह के बारे में ज़्यादा जानकारी (लेगसी) और किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) वाले विजेट में फ़ील्ड मास्क का इस्तेमाल करें. इससे आपको सिर्फ़ वे डेटा फ़ील्ड मिलेंगे जिनकी आपको ज़रूरत है.
लागत को ऑप्टिमाइज़ करने की बेहतर सुविधा
Place Autocomplete (लेगसी) को प्रोग्राम के हिसाब से लागू करने पर विचार करें, ताकि एसकेयू: ऑटोकंप्लीट - हर अनुरोध के हिसाब से कीमत को ऐक्सेस किया जा सके. साथ ही, Place Details (लेगसी) के बजाय, चुनी गई जगह के बारे में Geocoding API के नतीजे का अनुरोध किया जा सके. अगर ये दोनों शर्तें पूरी होती हैं, तो Geocoding API के साथ हर अनुरोध के लिए तय की गई कीमत, हर सेशन (सेशन पर आधारित) के लिए तय की गई कीमत से ज़्यादा किफ़ायती होती है:
- अगर आपको सिर्फ़ उपयोगकर्ता की चुनी गई जगह का अक्षांश/देशांतर या पता चाहिए, तो Geocoding API, Place Details (लेगसी) API के कॉल की तुलना में कम समय में यह जानकारी उपलब्ध कराता है.
- अगर उपयोगकर्ता, Place Autocomplete (लेगसी) के चार या इससे कम अनुरोधों के लिए, अपने-आप पूरा होने वाले सुझाव चुनते हैं, तो अनुरोध के हिसाब से तय की गई कीमत, सेशन के हिसाब से तय की गई कीमत से ज़्यादा किफ़ायती हो सकती है.
क्या आपके ऐप्लिकेशन को चुने गए अनुमान के पते और अक्षांश/देशांतर के अलावा किसी अन्य जानकारी की ज़रूरत है?
हां, ज़्यादा जानकारी चाहिए
सेशन पर आधारित Place Autocomplete (लेगसी) का इस्तेमाल, Place Details (लेगसी) के साथ करें.
आपके ऐप्लिकेशन को जगह की जानकारी (लेगसी) की ज़रूरत होती है. जैसे, जगह का नाम, कारोबार की स्थिति या खुलने का समय. इसलिए, जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) को लागू करते समय, आपको प्रोग्राम के हिसाब से या JavaScript, Android या iOS विजेट में बनाए गए सेशन टोकन का इस्तेमाल हर सेशन के लिए करना चाहिए. साथ ही, लागू होने वाले जगह की जानकारी वाले डेटा के एसकेयू का इस्तेमाल करना चाहिए. यह इस बात पर निर्भर करता है कि आपने जगह की जानकारी वाले किन फ़ील्ड के लिए अनुरोध किया है.1
विजेट लागू करना
सेशन मैनेजमेंट की सुविधा, JavaScript, Android या iOS
विजेट में अपने-आप शामिल होती है. इसमें, Place Autocomplete (लेगसी) के अनुरोध और चुनी गई जगह के बारे में ज़्यादा जानकारी (लेगसी) के अनुरोध, दोनों शामिल हैं. fields पैरामीटर को ज़रूर तय करें, ताकि यह पक्का किया जा सके कि आपने सिर्फ़ Place Autocomplete (लेगसी) के उन डेटा फ़ील्ड के लिए अनुरोध किया है जिनकी आपको ज़रूरत है.
प्रोग्राम के हिसाब से लागू करना
Place Autocomplete (लेगसी) के अनुरोधों के साथ
सेशन टोकन
का इस्तेमाल करें. चुनी गई जगह के बारे में ज़्यादा जानकारी (लेगसी) का अनुरोध करते समय, इन पैरामीटर को शामिल करें:
- Place Autocomplete (लेगसी) के जवाब में मौजूद जगह का आईडी
- Place Autocomplete (लेगसी) के अनुरोध में इस्तेमाल किया गया सेशन टोकन
fieldsपैरामीटर, Place Autocomplete (लेगसी) के उन डेटा फ़ील्ड के बारे में बताता है जिनकी आपको ज़रूरत है
नहीं, सिर्फ़ पता और जगह की जानकारी चाहिए
आपके ऐप्लिकेशन के लिए, Geocoding API, Place Details (लेगसी) की तुलना में ज़्यादा किफ़ायती विकल्प हो सकता है. यह इस बात पर निर्भर करता है कि आपने Place Autocomplete (लेगसी) का इस्तेमाल किस तरह किया है. हर ऐप्लिकेशन के लिए, जगह की जानकारी अपने-आप भरने की सुविधा (लेगसी) की परफ़ॉर्मेंस अलग-अलग होती है. यह इस बात पर निर्भर करती है कि उपयोगकर्ता क्या डाल रहे हैं, ऐप्लिकेशन का इस्तेमाल कहां किया जा रहा है, और परफ़ॉर्मेंस ऑप्टिमाइज़ेशन के सबसे सही तरीके लागू किए गए हैं या नहीं.
इस सवाल का जवाब देने के लिए, यह विश्लेषण करें कि कोई उपयोगकर्ता आपके ऐप्लिकेशन में, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के सुझाव को चुनने से पहले, औसतन कितने वर्ण टाइप करता है.
क्या आपके उपयोगकर्ता, औसतन चार या इससे कम अनुरोधों में, Place Autocomplete (लेगसी) की सुविधा से मिले सुझाव को चुनते हैं?
हां
सेशन टोकन के बिना, प्रोग्राम के हिसाब से Place Autocomplete (लेगसी) लागू करें और चुनी गई जगह के सुझाव पर Geocoding API को कॉल करें.
Geocoding API, पते और अक्षांश/देशांतर के निर्देशांक उपलब्ध कराता है.
चुनी गई जगह के बारे में, Geocoding API से चार ऑटोकंप्लीट - हर अनुरोध अनुरोध और एक कॉल करने पर, हर सेशन के लिए Place Autocomplete (लेगसी) की लागत, हर सेशन के लिए कम होती है.1
परफ़ॉर्मेंस के सबसे सही तरीकों का इस्तेमाल करें, ताकि आपके उपयोगकर्ताओं को कम वर्णों में भी वह अनुमान मिल सके जिसकी वे तलाश कर रहे हैं.
नहीं
सेशन पर आधारित Place Autocomplete (लेगसी) का इस्तेमाल, Place Details (लेगसी) के साथ करें.
किसी उपयोगकर्ता के Place Autocomplete (लेगसी) के सुझाव को चुनने से पहले, आपको जितने अनुरोध करने हैं उनकी औसत संख्या, हर सेशन के लिए तय की गई कीमत से ज़्यादा है. इसलिए, Place Autocomplete (लेगसी) को लागू करने के लिए, आपको Place Autocomplete (लेगसी) के अनुरोधों और उससे जुड़े Place Details (लेगसी) के अनुरोध, दोनों के लिए हर सेशन के हिसाब से सेशन टोकन का इस्तेमाल करना चाहिए.
1
विजेट लागू करना
सेशन मैनेजमेंट की सुविधा, JavaScript, Android या iOS
विजेट में अपने-आप शामिल होती है. इसमें Place Autocomplete (लेगसी) के अनुरोध और चुनी गई जगह के बारे में ज़्यादा जानकारी (लेगसी) के अनुरोध, दोनों शामिल हैं. यह पक्का करने के लिए कि आपने सिर्फ़ उन फ़ील्ड का अनुरोध किया है जिनकी आपको ज़रूरत है, fields पैरामीटर तय करना न भूलें.
प्रोग्राम के हिसाब से लागू करना
Place Autocomplete (लेगसी) के अनुरोधों के साथ
सेशन टोकन
का इस्तेमाल करें.
चुनी गई भविष्यवाणी के बारे में जगह की जानकारी (लेगसी) का अनुरोध करते समय, ये पैरामीटर शामिल करें:
- Place Autocomplete (लेगसी) के जवाब में मौजूद जगह का आईडी
- Place Autocomplete (लेगसी) के अनुरोध में इस्तेमाल किया गया सेशन टोकन
fieldsपैरामीटर, बुनियादी डेटा फ़ील्ड के बारे में बताता है. जैसे, पता और ज्यामिति
जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोधों को कुछ समय के लिए रोकें
आपके पास ऐसी रणनीतियां इस्तेमाल करने का विकल्प होता है. जैसे, जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोध को तब तक के लिए रोकें, जब तक उपयोगकर्ता पहले तीन या चार वर्ण टाइप न कर ले. इससे आपका ऐप्लिकेशन कम अनुरोध करेगा. उदाहरण के लिए, अगर उपयोगकर्ता के तीन वर्ण टाइप करने के बाद हर वर्ण के लिए Place Autocomplete (लेगसी) अनुरोध किए जाते हैं, तो इसका मतलब है कि अगर उपयोगकर्ता सात वर्ण टाइप करता है और फिर किसी ऐसे सुझाव को चुनता है जिसके लिए आपने Geocoding API का एक अनुरोध किया है, तो कुल लागत, Place Autocomplete (लेगसी) के चार अनुरोध + Geocoding के लिए होगी.1
अगर अनुरोधों को कुछ समय के लिए रोकने से, प्रोग्राम के हिसाब से किए गए अनुरोधों की औसत संख्या चार से कम हो जाती है, तो Geocoding API के साथ, जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) को बेहतर तरीके से लागू करने से जुड़े दिशा-निर्देशों का पालन करें. ध्यान दें कि अनुरोधों में देरी होने पर, उपयोगकर्ता को ऐसा लग सकता है कि जवाब मिलने में समय लग रहा है. ऐसा इसलिए, क्योंकि वह हर नए कीस्ट्रोक के साथ अनुमान देखना चाहता है.
परफ़ॉर्मेंस के सबसे सही तरीकों का इस्तेमाल करें, ताकि आपके उपयोगकर्ताओं को कम वर्णों में वह अनुमान मिल सके जिसकी वे तलाश कर रहे हैं.
-
शुल्क के बारे में जानने के लिए, Google Maps Platform के शुल्क की सूची देखें.
परफ़ॉर्मेंस के सबसे सही तरीके
यहां दिए गए दिशा-निर्देशों में, जगह के नाम अपने-आप भरने की सुविधा (लेगसी) की परफ़ॉर्मेंस को ऑप्टिमाइज़ करने के तरीके बताए गए हैं:
- किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) को लागू करने के लिए, देश के हिसाब से पाबंदियां, जगह के हिसाब से सुझावों को प्राथमिकता देना, और (प्रोग्राम के हिसाब से लागू करने के लिए) भाषा की प्राथमिकता जोड़ें. विजेट के लिए भाषा की प्राथमिकता सेट करने की ज़रूरत नहीं होती, क्योंकि वे उपयोगकर्ता के ब्राउज़र या मोबाइल डिवाइस से भाषा की प्राथमिकताएं चुनते हैं.
- अगर Place Autocomplete (लेगसी) के साथ मैप मौजूद है, तो मैप व्यूपोर्ट के हिसाब से जगह की जानकारी को प्राथमिकता दी जा सकती है.
- जब कोई उपयोगकर्ता, Place Autocomplete (लेगसी) की किसी भी भविष्यवाणी को नहीं चुनता है, तो आम तौर पर ऐसा इसलिए होता है, क्योंकि उनमें से कोई भी भविष्यवाणी, उपयोगकर्ता के हिसाब से सही नहीं होती. ऐसे में, ज़्यादा काम के नतीजे पाने के लिए, उपयोगकर्ता के ओरिजनल इनपुट का फिर से इस्तेमाल किया जा सकता है:
- अगर आपको लगता है कि उपयोगकर्ता सिर्फ़ पते की जानकारी डालेगा, तो Geocoding API को कॉल करने के लिए, उपयोगकर्ता के ओरिजनल इनपुट का फिर से इस्तेमाल करें.
- अगर आपको लगता है कि उपयोगकर्ता किसी जगह का नाम या पता डालकर क्वेरी करेगा, तो जगह के बारे में ज़्यादा जानकारी (लेगसी) का अनुरोध करें. अगर आपको नतीजे सिर्फ़ किसी खास इलाके में चाहिए, तो जगह के हिसाब से नतीजों को प्राथमिकता देने की सुविधा का इस्तेमाल करें.
- ऐसे उपयोगकर्ता जो सबप्रीमाइज़ के पते डालते हैं. जैसे, किसी बिल्डिंग में मौजूद खास यूनिट या अपार्टमेंट के पते. उदाहरण के लिए, चेक गणराज्य के पते "Stroupežnického 3191/17, Praha" के लिए, Place Autocomplete (लेगसी) में आंशिक सुझाव मिलता है.
- ऐसे उपयोगकर्ता जो न्यूयॉर्क शहर में "23-30 29th St, Queens" या हवाई के काउई द्वीप पर "47-380 Kamehameha Hwy, Kaneohe" जैसे सड़क के सेगमेंट वाले प्रीफ़िक्स के साथ पते डालते हैं.
जगह के हिसाब से नतीजे दिखाना
location पैरामीटर और radius पैरामीटर पास करके, नतीजों को किसी खास इलाके के हिसाब से दिखाएं. इससे Place Autocomplete (लेगसी) को यह निर्देश मिलता है कि वह तय किए गए इलाके में खोज के नतीजे दिखाए. हालांकि, तय की गई जगह से बाहर के नतीजे भी दिख सकते हैं. includedRegionCodes पैरामीटर का इस्तेमाल करके, नतीजों को फ़िल्टर किया जा सकता है. इससे सिर्फ़ किसी देश में मौजूद जगहों के नतीजे दिखते हैं.
जगह की जानकारी को सीमित करना
locationRestriction पैरामीटर पास करके, नतीजों को किसी तय जगह तक सीमित करें.
location और radius पैरामीटर से तय किए गए क्षेत्र के हिसाब से भी नतीजों को सीमित किया जा सकता है. इसके लिए, strictbounds
पैरामीटर जोड़ें. इससे Place Autocomplete (लेगसी) को उस इलाके के सिर्फ़ नतीजे दिखाने का निर्देश मिलता है.