किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी), एक वेब सेवा है. यह एचटीटीपी अनुरोध के जवाब में, जगह के सुझाव दिखाती है. अनुरोध में, टेक्स्ट वाली खोज स्ट्रिंग और जगह की जानकारी की वैकल्पिक सीमाएं शामिल होती हैं. इस सेवा का इस्तेमाल, टेक्स्ट के आधार पर भौगोलिक जगहों को खोजने के लिए, ऑटोकंप्लीट की सुविधा देने के लिए किया जा सकता है. इसके लिए, उपयोगकर्ता के टाइप करते ही कारोबार, पते, और लोकप्रिय जगहों के सुझाव दिखाए जाते हैं.
Place Autocomplete (लेगसी) के अनुरोध
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी), Places API का हिस्सा है. यह Places API के साथ एपीआई पासकोड और कोटा शेयर करती है.
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी), पूरे शब्दों और सबस्ट्रिंग से मैच कर सकती है. इससे जगहों के नाम, पते, और Plus Code को हल किया जा सकता है. इसलिए, ऐप्लिकेशन उपयोगकर्ता के टाइप करते ही क्वेरी भेज सकते हैं, ताकि जगह के बारे में तुरंत अनुमान लगाया जा सके.
आपको प्लस कोड को सही तरीके से फ़ॉर्मैट करना होगा. इसका मतलब है कि आपको प्लस के निशान को यूआरएल-एस्केप करके %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 Alpha-2 के साथ काम करने वाले देश के कोड के तौर पर पास किए जाने चाहिए. उदाहरण के लिए: components=country:fr से आपके नतीजे, फ़्रांस में मौजूद जगहों तक ही सीमित हो जाएंगे. एक से ज़्यादा देशों को कई country:XX फ़िल्टर के तौर पर पास किया जाना चाहिए. साथ ही, सेपरेटर के तौर पर पाइप वर्ण | का इस्तेमाल किया जाना चाहिए. उदाहरण के लिए:
components=country:us|country:pr|country:vi|country:gu|country:mp
इससे आपके नतीजे, अमेरिका और उसके
असंगठित क्षेत्रों तक ही सीमित रहेंगे.
भाषा
वह भाषा जिसमें नतीजे दिखाए जाएंगे.
- उपलब्ध भाषाओं की सूची देखें. Google अक्सर उन भाषाओं को अपडेट करता रहता है जिनमें यह सुविधा उपलब्ध है. इसलिए, हो सकता है कि इस सूची में सभी भाषाएं शामिल न हों.
-
अगर
languageनहीं दिया गया है, तो एपीआई,Accept-Languageहेडर में बताई गई पसंदीदा भाषा का इस्तेमाल करने की कोशिश करता है. - एपीआई, मोहल्ले का ऐसा पता देने की पूरी कोशिश करता है जिसे उपयोगकर्ता और स्थानीय लोग, दोनों पढ़ सकें. इस लक्ष्य को हासिल करने के लिए, यह स्थानीय भाषा में मोहल्ले के पते दिखाता है. अगर ज़रूरी हो, तो उपयोगकर्ता की पसंदीदा भाषा को ध्यान में रखते हुए, उसे ऐसी लिपि में ट्रांसलिट्रेट किया जाता है जिसे उपयोगकर्ता पढ़ सके. अन्य सभी पते, आपकी पसंदीदा भाषा में दिखाए जाते हैं. पते के सभी कॉम्पोनेंट उसी भाषा में दिखाए जाते हैं जो पहले कॉम्पोनेंट के लिए चुनी गई है.
- अगर पसंदीदा भाषा में कोई नाम उपलब्ध नहीं है, तो एपीआई सबसे मिलते-जुलते नाम का इस्तेमाल करता है.
- पसंदीदा भाषा का असर, एपीआई से मिलने वाले नतीजों के सेट और उनके क्रम पर थोड़ा पड़ता है. जियोकोडर, भाषा के हिसाब से शॉर्ट फ़ॉर्म को अलग-अलग तरीके से समझता है. जैसे, सड़क के टाइप के लिए शॉर्ट फ़ॉर्म या समानार्थी शब्द, जो एक भाषा में मान्य हो सकते हैं, लेकिन दूसरी भाषा में नहीं. उदाहरण के लिए, हंगेरियन भाषा में utca और tér, स्ट्रीट के समानार्थी शब्द हैं.
जगह
वह जगह जिसके आस-पास की जगहों की जानकारी हासिल करनी है. इसे latitude,longitude के तौर पर सेट करना ज़रूरी है. जगह की जानकारी देते समय, radius पैरामीटर भी देना ज़रूरी है. अगर radius नहीं दिया गया है, तो
location पैरामीटर को अनदेखा कर दिया जाता है.
locationbias
किसी खास इलाके के नतीजे पाने के लिए, दायरा और अक्षांश/देशांतर की जानकारी दें. इसके अलावा, अक्षांश/देशांतर के दो जोड़े भी दिए जा सकते हैं, जो रेक्टैंगल के पॉइंट दिखाते हैं. अगर यह पैरामीटर नहीं दिया गया है, तो एपीआई डिफ़ॉल्ट रूप से आईपी पते के आधार पर नतीजे दिखाता है.
-
आईपी बायस: यह एपीआई को आईपी पते के आधार पर बायस का इस्तेमाल करने का निर्देश देता है. स्ट्रिंग
ipbiasपास करें (इस विकल्प में कोई अतिरिक्त पैरामीटर नहीं है). -
सर्कुलर: यह एक स्ट्रिंग है, जिसमें मीटर में त्रिज्या और दशमलव डिग्री में अक्षांश/देशांतर की जानकारी होती है. इस फ़ॉर्मैट का इस्तेमाल करें:
circle:radius@lat,lng. -
Rectangular: यह एक स्ट्रिंग है, जिसमें दशमलव डिग्री में दो अक्षांश/देशांतर जोड़े शामिल होते हैं. ये जोड़े, रेक्टैंगल के दक्षिण/पश्चिम और उत्तर/पूर्व पॉइंट दिखाते हैं. इस फ़ॉर्मैट का इस्तेमाल करें:
rectangle:south,west|north,east. ध्यान दें कि पूर्व/पश्चिम की वैल्यू को -180, 180 की रेंज में रैप किया जाता है. साथ ही, उत्तर/दक्षिण की वैल्यू को -90, 90 की रेंज में क्लैंप किया जाता है.
locationrestriction
नतीजों को किसी खास इलाके तक सीमित करें. इसके लिए, रेडियस के साथ-साथ अक्षांश/देशांतर या अक्षांश/देशांतर के दो जोड़े बताएं जो रेक्टैंगल के पॉइंट दिखाते हों.
-
सर्कुलर: यह एक स्ट्रिंग है, जिसमें मीटर में त्रिज्या और दशमलव डिग्री में अक्षांश/देशांतर की जानकारी होती है. इस फ़ॉर्मैट का इस्तेमाल करें:
circle:radius@lat,lng. -
Rectangular: यह एक स्ट्रिंग है, जिसमें दशमलव डिग्री में दो अक्षांश/देशांतर जोड़े शामिल होते हैं. ये जोड़े, रेक्टैंगल के दक्षिण/पश्चिम और उत्तर/पूर्व पॉइंट दिखाते हैं. इस फ़ॉर्मैट का इस्तेमाल करें:
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) है, जबकि इसका आईएसओ 3166-1 कोड "gb" है. तकनीकी तौर पर, यह कोड "यूनाइटेड किंगडम ऑफ़ ग्रेट ब्रिटेन ऐंड नॉर्दर्न आयरलैंड" के लिए है.
sessiontoken
एक रैंडम स्ट्रिंग, जो बिलिंग के मकसद से, ऑटोकंप्लीट की सुविधा वाले सेशन की पहचान करती है.
सेशन तब शुरू होता है, जब उपयोगकर्ता कोई क्वेरी टाइप करना शुरू करता है. यह तब खत्म होता है, जब उपयोगकर्ता कोई जगह चुनता है और जगह की जानकारी के लिए कॉल किया जाता है. हर सेशन में कई क्वेरी हो सकती हैं. इसके बाद, एक जगह चुनी जा सकती है. किसी सेशन में हर अनुरोध के लिए इस्तेमाल किए गए एपीआई पासकोड, एक ही Google Cloud Console प्रोजेक्ट से जुड़े होने चाहिए. सेशन खत्म होने के बाद, टोकन अमान्य हो जाता है. इसलिए, आपके ऐप्लिकेशन को हर सेशन के लिए एक नया टोकन जनरेट करना होगा. अगर sessiontoken पैरामीटर को शामिल नहीं किया जाता है या किसी सेशन टोकन का फिर से इस्तेमाल किया जाता है, तो सेशन के लिए शुल्क इस तरह लिया जाता है जैसे कोई सेशन टोकन नहीं दिया गया हो. ऐसे में, हर अनुरोध के लिए अलग से शुल्क लिया जाता है.
हमारा सुझाव है कि आप इन दिशा-निर्देशों का पालन करें:
- अपने-आप पूरा होने वाले सभी सेशन के लिए, सेशन टोकन इस्तेमाल करें.
- हर सेशन के लिए एक नया टोकन जनरेट करें. हमारा सुझाव है कि आप वर्शन 4 UUID का इस्तेमाल करें.
- पक्का करें कि किसी सेशन में, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा और जगह की जानकारी के सभी अनुरोधों के लिए इस्तेमाल किए गए एपीआई पासकोड, एक ही Cloud Console प्रोजेक्ट से जुड़े हों.
- पक्का करें कि हर नए सेशन के लिए, एक यूनीक सेशन टोकन पास किया जाए. एक से ज़्यादा सेशन के लिए एक ही टोकन का इस्तेमाल करने पर, हर अनुरोध के लिए अलग से बिल भेजा जाएगा.
strictbounds
सिर्फ़ उन जगहों की जानकारी दिखाता है जो location और radius से तय किए गए इलाके में मौजूद हैं. यह एक पाबंदी है, न कि पक्षपात. इसका मतलब है कि इस इलाके से बाहर के नतीजे नहीं दिखाए जाएंगे. भले ही, वे उपयोगकर्ता के इनपुट से मैच करते हों.
प्रकार
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा के अनुरोध से मिलने वाले नतीजों को सीमित किया जा सकता है. इसके लिए, types पैरामीटर को पास करें. यह पैरामीटर, किसी टाइप या टाइप कलेक्शन के बारे में बताता है. इसकी जानकारी, जगह के टाइप में दी गई है. अगर कोई टाइप नहीं चुना जाता है, तो सभी टाइप के नतीजे दिखाए जाते हैं.
किसी जगह के लिए, टेबल 1 या टेबल 2 में दिए गए टाइप में से, सिर्फ़ एक प्राइमरी टाइप चुना जा सकता है. उदाहरण के लिए, ऐसा होटल जहां खाना परोसा जाता है, उसे सिर्फ़ types=lodging के साथ दिखाया जा सकता है, न कि types=restaurant के साथ.
types पैरामीटर की वैल्यू के लिए, इनमें से कोई एक वैल्यू तय की जा सकती है:
-
टेबल 1 या टेबल 2 से ज़्यादा से ज़्यादा पांच वैल्यू. एक से ज़्यादा वैल्यू के लिए, हर वैल्यू को
|(वर्टिकल बार) से अलग करें. उदाहरण के लिए:types=book_store|cafe -
टेबल 3 में मौजूद, इस्तेमाल किया जा सकने वाला कोई भी फ़िल्टर. टाइप कलेक्शन को मिक्स नहीं किया जा सकता.
अनुरोध को INVALID_REQUEST गड़बड़ी के साथ अस्वीकार कर दिया जाएगा, अगर:
- पांच से ज़्यादा टाइप दिए गए हैं.
- किसी ऐसे टाइप की वैल्यू मौजूद हो जिसकी पहचान नहीं की जा सकी.
- टेबल 1 या टेबल 2 में मौजूद किसी भी टाइप को, टेबल 3 में मौजूद किसी भी फ़िल्टर के साथ मिलाया गया हो.
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के उदाहरण
कैलिफ़ोर्निया के सैन फ़्रांसिस्को में मौजूद किसी इलाके में, "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 की ज़रूरत है, तो उसे इस्तेमाल करें.
एक्सएमएल ट्री को प्रोसेस करते समय कुछ बातों का ध्यान रखना ज़रूरी है, ताकि आप सही नोड और एलिमेंट का रेफ़रंस दे सकें. एक्सएमएल को प्रोसेस करने में मदद पाने के लिए, XPath की मदद से एक्सएमएल को प्रोसेस करना लेख पढ़ें.
PlacesAutocompleteStatus
सेवा से मिले स्टेटस कोड.
OK, जिससे पता चलता है कि एपीआई अनुरोध पूरा हो गया है.-
ZERO_RESULTS, जिससे पता चलता है कि खोज पूरी हो गई है, लेकिन कोई नतीजा नहीं मिला. ऐसा तब हो सकता है, जब खोज के लिए किसी दूर-दराज़ की जगह की सीमाएं पास की गई हों. -
INVALID_REQUEST, जिससे पता चलता है कि एपीआई अनुरोध गलत तरीके से बनाया गया था. आम तौर पर, ऐसाinputपैरामीटर मौजूद न होने की वजह से होता है. -
OVER_QUERY_LIMIT, जो इनमें से किसी एक के बारे में बताता है:- आपने क्यूपीएस की सीमाएं पार कर ली हैं.
- आपके खाते के लिए बिलिंग की सुविधा चालू नहीं की गई है.
- हर महीने मिलने वाला 200 डॉलर का क्रेडिट या इस्तेमाल की तय सीमा खत्म हो गई है.
- पेमेंट का दिया गया तरीका अब मान्य नहीं है. उदाहरण के लिए, क्रेडिट कार्ड की समयसीमा खत्म हो गई है.
-
REQUEST_DENIED, जिससे पता चलता है कि आपका अनुरोध अस्वीकार कर दिया गया है. आम तौर पर, ऐसा इन वजहों से होता है:- अनुरोध में एपीआई पासकोड मौजूद नहीं है.
keyपैरामीटर अमान्य है.
UNKNOWN_ERROR, जिससे किसी अज्ञात गड़बड़ी का पता चलता है.
जब Places सेवा, खोज के JSON नतीजे दिखाती है, तो वह उन्हें predictions कलेक्शन में डालती है. अगर सेवा से कोई नतीजा नहीं मिलता है (जैसे कि location रिमोट है), तो भी यह खाली predictions कलेक्शन दिखाता है. एक्सएमएल रिस्पॉन्स में शून्य या उससे ज़्यादा <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
| फ़ील्ड | ज़रूरी है | टाइप | ब्यौरा |
|---|---|---|---|
|
ज़रूरी है | संख्या |
यह ब्यौरे में इस शब्द की शुरुआती पोज़िशन तय करता है. इसे यूनिकोड वर्णों में मापा जाता है |
|
ज़रूरी है | स्ट्रिंग |
शब्द का टेक्स्ट. |
Place Autocomplete (लेगसी) को ऑप्टिमाइज़ करना
इस सेक्शन में, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) का ज़्यादा से ज़्यादा फ़ायदा पाने के सबसे सही तरीके बताए गए हैं.
यहां कुछ सामान्य दिशा-निर्देश दिए गए हैं:
- काम करने वाला यूज़र इंटरफ़ेस बनाने का सबसे तेज़ तरीका है, Maps JavaScript API किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) वाले विजेट, Places SDK for Android किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) वाले विजेट, या Places SDK for iOS किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) वाले यूज़र इंटरफ़ेस (यूआई) कंट्रोल का इस्तेमाल करना.
- किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के ज़रूरी डेटा फ़ील्ड के बारे में शुरू से ही जानें.
- जगह के हिसाब से नतीजे दिखाने और जगह के हिसाब से पाबंदी लगाने वाले फ़ील्ड भरना ज़रूरी नहीं है. हालांकि, इनसे ऑटोकंप्लीट की सुविधा की परफ़ॉर्मेंस पर काफ़ी असर पड़ सकता है.
- गड़बड़ी को मैनेज करने की सुविधा का इस्तेमाल करें, ताकि एपीआई से गड़बड़ी मिलने पर आपका ऐप्लिकेशन सही तरीके से काम करता रहे.
- पक्का करें कि आपका ऐप्लिकेशन, कोई विकल्प न चुने जाने पर उपयोगकर्ताओं को आगे बढ़ने का तरीका बताता हो.
लागत को ऑप्टिमाइज़ करने के सबसे सही तरीके
लागत को ऑप्टिमाइज़ करने की बुनियादी सुविधा
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) का इस्तेमाल करने की लागत को ऑप्टिमाइज़ करने के लिए, जगह के बारे में ज़्यादा जानकारी (लेगसी) और किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के विजेट में फ़ील्ड मास्क का इस्तेमाल करें. इससे आपको सिर्फ़ किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के डेटा फ़ील्ड मिलेंगे.
लागत को ऑप्टिमाइज़ करने की बेहतर सुविधा
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) को प्रोग्राम के हिसाब से लागू करें, ताकि एसकेयू: ऑटोकंप्लीट - हर अनुरोध के लिए कीमत को ऐक्सेस किया जा सके और चुनी गई जगह के लिए, जगह की जानकारी (लेगसी) के बजाय Geocoding API के नतीजों का अनुरोध किया जा सके. अगर यहां दी गई दोनों शर्तें पूरी होती हैं, तो Geocoding API के साथ हर अनुरोध के हिसाब से कीमत तय करने का मॉडल, हर सेशन (सेशन के हिसाब से) के हिसाब से कीमत तय करने के मॉडल की तुलना में ज़्यादा किफ़ायती होता है:
- अगर आपको उपयोगकर्ता की चुनी गई जगह का सिर्फ़ अक्षांश और देशांतर या पता चाहिए, तो Geocoding API यह जानकारी देता है. यह जानकारी, Place Details (लेगसी) कॉल से कम कीमत पर मिलती है.
- अगर उपयोगकर्ता, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के लिए, औसतन चार या उससे कम अनुरोधों में से, ऑटोकंप्लीट के सुझाव को चुनते हैं, तो हर अनुरोध के हिसाब से कीमत तय करने का विकल्प, हर सेशन के हिसाब से कीमत तय करने के विकल्प से ज़्यादा किफ़ायती हो सकता है.
| आपके ऐप्लिकेशन के लिए क्या ज़रूरी है | किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के लिए किए गए अनुरोधों की औसत संख्या. यह संख्या, उपयोगकर्ता के कोई सुझाव चुनने से पहले किए गए अनुरोधों के आधार पर तय की जाती है | लागू करने के सुझाव |
|---|---|---|
| पते और जगह की जानकारी के अलावा, जगह की अन्य जानकारी. जैसे, जगह का नाम, कारोबार की स्थिति या कारोबार के खुले होने का समय | कोई भी नंबर | जगह के बारे में ज़्यादा जानकारी (लेगसी) के साथ, सेशन के आधार पर किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) |
| चुने गए अनुमान का सिर्फ़ पता और अक्षांश/देशांतर | चार या इससे कम | Geocoding API के साथ, हर अनुरोध के लिए किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) |
| चुने गए अनुमान का सिर्फ़ पता और अक्षांश/देशांतर | चार से ज़्यादा | सिर्फ़ पते की जानकारी देने वाले ऐप्लिकेशन के लिए, सेशन के आधार पर किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) |
Geocoding API, आपके ऐप्लिकेशन के लिए Place Details (लेगसी) की तुलना में ज़्यादा किफ़ायती विकल्प हो सकता है. हालांकि, यह इस बात पर निर्भर करता है कि किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) की परफ़ॉर्मेंस कैसी है. हर ऐप्लिकेशन के लिए, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) की परफ़ॉर्मेंस अलग-अलग होती है. यह इस बात पर निर्भर करती है कि उपयोगकर्ता क्या जानकारी डाल रहे हैं, ऐप्लिकेशन का इस्तेमाल कहां किया जा रहा है, और परफ़ॉर्मेंस को ऑप्टिमाइज़ करने के सबसे सही तरीके लागू किए गए हैं या नहीं.
टेबल के लिए अनुरोधों की औसत संख्या का पता लगाने के लिए, यह विश्लेषण करें कि आपके ऐप्लिकेशन में, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के सुझाव को चुनने से पहले, कोई उपयोगकर्ता औसतन कितने वर्ण टाइप करता है.
जगह की जानकारी (लेगसी) के साथ, सेशन के हिसाब से किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी)
Place Details (लेगसी) के साथ, सेशन के हिसाब से Place Autocomplete (लेगसी) का इस्तेमाल करना.
आपके ऐप्लिकेशन को जगह की जानकारी (लेगसी) की ज़रूरत होती है. जैसे, जगह का नाम, कारोबार की स्थिति या कारोबार के खुले होने का समय. इसलिए, जगह की जानकारी अपने-आप भरने की सुविधा (लेगसी) को लागू करने के लिए, आपको हर सेशन के लिए सेशन टोकन (प्रोग्राम के हिसाब से या JavaScript, Android या iOS विजेट में पहले से मौजूद) का इस्तेमाल करना चाहिए. साथ ही, आपको लागू होने वाले Places डेटा एसकेयू का इस्तेमाल करना चाहिए. यह इस बात पर निर्भर करता है कि आपने जगह की जानकारी के किन डेटा फ़ील्ड का अनुरोध किया है.1
विजेट लागू करना
सेशन मैनेजमेंट की सुविधा,
JavaScript,
Android,
या iOS
विजेट में अपने-आप शामिल हो जाती है. इसमें, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोध और सुझाई गई जगह के बारे में ज़्यादा जानकारी (लेगसी) का अनुरोध, दोनों शामिल हैं. fields पैरामीटर की जानकारी ज़रूर दें, ताकि यह पक्का किया जा सके कि आपने सिर्फ़ उन
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के डेटा फ़ील्ड
का अनुरोध किया है जिनकी आपको ज़रूरत है.
प्रोग्राम के हिसाब से लागू करना
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोधों के साथ,
सेशन टोकन
का इस्तेमाल करें. चुने गए सुझाव के बारे में, जगह की जानकारी (लेगसी) का अनुरोध करते समय, ये पैरामीटर शामिल करें:
- किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के जवाब से मिला जगह का आईडी
- किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोध में इस्तेमाल किया गया सेशन टोकन
fieldsपैरामीटर, जो आपको ज़रूरी किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के डेटा फ़ील्ड के बारे में बताता है
Geocoding API के साथ, हर अनुरोध के लिए किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी)
सेशन टोकन के बिना, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) को प्रोग्राम के हिसाब से लागू करना और चुनी गई जगह के सुझाव पर Geocoding API को कॉल करना.
Geocoding API, पते और अक्षांश/देशांतर के निर्देशांक उपलब्ध कराता है.
चार ऑटोकंप्लीट - हर अनुरोध के लिए अनुरोध करने और चुनी गई जगह के सुझाव के बारे में Geocoding API कॉल करने की लागत, हर सेशन के लिए Place Autocomplete (लेगसी) की लागत से कम होती है.1
परफ़ॉर्मेंस के सबसे सही तरीके अपनाएं, ताकि आपके उपयोगकर्ताओं को कम से कम वर्णों में वह अनुमान मिल सके जो वे खोज रहे हैं.
सिर्फ़ पते की जानकारी देने वाले ऐप्लिकेशन के लिए, सेशन के हिसाब से किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी)
Place Details (लेगसी) के साथ, सेशन के हिसाब से Place Autocomplete (लेगसी) का इस्तेमाल करना.
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के सुझाव को चुनने से पहले, उपयोगकर्ता के अनुरोधों की औसत संख्या, हर सेशन की कीमत से ज़्यादा होती है. इसलिए, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) को लागू करने के लिए, आपको किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोधों और उससे जुड़े जगह के बारे में ज़्यादा जानकारी (लेगसी) के अनुरोध, दोनों के लिए सेशन टोकन का इस्तेमाल करना चाहिए
हर सेशन.
1
विजेट लागू करना
सेशन मैनेजमेंट की सुविधा,
JavaScript,
Android,
या iOS
विजेट में अपने-आप शामिल हो जाती है. इसमें, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोध और सुझाई गई जगह के लिए, जगह के बारे में ज़्यादा जानकारी (लेगसी) का अनुरोध, दोनों शामिल हैं. fields पैरामीटर की जानकारी ज़रूर दें, ताकि यह पक्का किया जा सके कि आपने सिर्फ़ ज़रूरी फ़ील्ड के लिए अनुरोध किया है.
प्रोग्राम के हिसाब से लागू करना
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोधों के साथ,
सेशन टोकन
का इस्तेमाल करें.
चुने गए सुझाव के बारे में, जगह की जानकारी (लेगसी) का अनुरोध करते समय, ये पैरामीटर शामिल करें:
- किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के जवाब से मिला जगह का आईडी
- किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोध में इस्तेमाल किया गया सेशन टोकन
fieldsपैरामीटर, बुनियादी डेटा फ़ील्ड के बारे में बताता है. जैसे, पता और ज्यामिति
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोधों में देरी करने पर विचार करें
किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोध में देरी करने जैसी रणनीतियां अपनाई जा सकती हैं. ऐसा तब तक किया जा सकता है, जब तक उपयोगकर्ता पहले तीन या चार वर्ण टाइप न कर ले. इससे आपके ऐप्लिकेशन को कम अनुरोध करने पड़ेंगे. उदाहरण के लिए, उपयोगकर्ता के तीसरा वर्ण टाइप करने के बाद, हर वर्ण के लिए Place Autocomplete (लेगसी) के अनुरोध करने का मतलब है कि अगर उपयोगकर्ता सात वर्ण टाइप करता है, तो उस सुझाव को चुनें जिसके लिए आपने एक Geocoding API अनुरोध किया है. इसकी कुल लागत, हर अनुरोध के लिए चार Place Autocomplete (लेगसी) + Geocoding के लिए होगी.1
अगर अनुरोधों में देरी करने से, प्रोग्राम के हिसाब से किए जाने वाले अनुरोधों की औसत संख्या चार से कम हो सकती है, तो Geocoding API के साथ, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) को लागू करने के लिए दिए गए दिशा-निर्देशों का पालन करें. ध्यान दें कि अनुरोधों में देरी होने पर, उपयोगकर्ता को इंतज़ार करना पड़ सकता है. ऐसा हो सकता है कि उपयोगकर्ता को हर नए कीस्ट्रोक के साथ सुझाव देखने की उम्मीद हो.
परफ़ॉर्मेंस के सबसे सही तरीके अपनाएं, ताकि आपके उपयोगकर्ताओं को कम वर्णों में ही वह अनुमान मिल सके जो वे खोज रहे हैं.
-
लागत के बारे में जानने के लिए, Google Maps Platform की कीमत की सूचियां देखें.
परफ़ॉर्मेंस को बेहतर बनाने के सबसे सही तरीके
यहां दिए गए दिशा-निर्देशों में, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) की परफ़ॉर्मेंस को ऑप्टिमाइज़ करने के तरीके बताए गए हैं:
- Place Autocomplete (लेगसी) के लागू होने पर, देश से जुड़ी पाबंदियां, जगह के हिसाब से नतीजे दिखाने की सुविधा, और (प्रोग्राम के हिसाब से लागू करने के लिए) भाषा की प्राथमिकता जोड़ें. विजेट के लिए, भाषा की प्राथमिकता सेट करने की ज़रूरत नहीं होती. ऐसा इसलिए, क्योंकि वे उपयोगकर्ता के ब्राउज़र या मोबाइल डिवाइस से भाषा से जुड़ी प्राथमिकताएं चुनते हैं.
- अगर किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के साथ कोई मैप मौजूद है, तो मैप के व्यूपोर्ट के हिसाब से जगह की जानकारी को बायस किया जा सकता है.
- जब कोई उपयोगकर्ता, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के सुझावों में से कोई विकल्प नहीं चुनता है, तो आम तौर पर ऐसा इसलिए होता है, क्योंकि उनमें से कोई भी सुझाव, उपयोगकर्ता के खोजे गए पते से मेल नहीं खाता. ऐसे में, उपयोगकर्ता के ओरिजनल इनपुट का फिर से इस्तेमाल करके, ज़्यादा काम के नतीजे पाने की कोशिश की जा सकती है:
- अगर आपको लगता है कि उपयोगकर्ता सिर्फ़ पते की जानकारी डालेगा, तो Geocoding API को किए गए कॉल में, उपयोगकर्ता के ओरिजनल इनपुट का फिर से इस्तेमाल करें.
- अगर आपको लगता है कि उपयोगकर्ता किसी जगह के नाम या पते के हिसाब से क्वेरी डालेगा, तो जगह की जानकारी (लेगसी) के अनुरोध का इस्तेमाल करें. अगर आपको सिर्फ़ किसी खास इलाके के नतीजे चाहिए, तो जगह के हिसाब से नतीजे दिखाने की सुविधा का इस्तेमाल करें.
- उपयोगकर्ता, सब-प्रमिस पते डालते हैं. जैसे, किसी इमारत में मौजूद खास यूनिट या अपार्टमेंट के पते. उदाहरण के लिए, चेक गणराज्य का पता "Stroupežnického 3191/17, Praha" डालने पर, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) में, सुझाव के तौर पर अधूरा पता दिखता है.
- उपयोगकर्ता, न्यूयॉर्क शहर में "23-30 29th St, Queens" या हवाई के काउआई द्वीप पर "47-380 Kamehameha Hwy, Kaneohe" जैसे सड़क के सेगमेंट के प्रीफ़िक्स वाले पते डालते हैं.
जगह के हिसाब से नतीजे दिखाना
location पैरामीटर और radius पैरामीटर को पास करके, नतीजों को किसी खास इलाके के हिसाब से बायस करें. इससे, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) को तय किए गए इलाके के अंदर नतीजे दिखाने को प्राथमिकता देने का निर्देश मिलता है. तय किए गए इलाके से बाहर के नतीजे अब भी दिख सकते हैं. includedRegionCodes पैरामीटर का इस्तेमाल करके, नतीजों को फ़िल्टर किया जा सकता है. इससे सिर्फ़ किसी देश में मौजूद जगहों को दिखाया जा सकता है.
जगह की जानकारी से जुड़ी पाबंदी
locationRestriction पैरामीटर पास करके, नतीजों को किसी खास इलाके तक सीमित करना.
आपके पास location और radius पैरामीटर से तय किए गए इलाके के हिसाब से नतीजों को सीमित करने का विकल्प भी है. इसके लिए, आपको strictbounds पैरामीटर जोड़ना होगा. इससे, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) को, सिर्फ़ उस इलाके के नतीजे दिखाने का निर्देश मिलता है.