किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी)

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

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 पैरामीटर को अनदेखा कर दिया जाता है.

    टेक्स्ट से खोजें 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 मीटर
  • प्रांत

    क्षेत्र का कोड, जिसे दो वर्णों वाली ccTLD ("टॉप-लेवल डोमेन") वैल्यू के तौर पर तय किया जाता है. ज़्यादातर ccTLD कोड, आईएसओ 3166-1 कोड के जैसे ही होते हैं. हालांकि, कुछ अपवाद भी हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "uk" (.co.uk) है, जबकि इसका ISO 3166-1 कोड "gb" है. तकनीकी तौर पर, यह "ग्रेट ब्रिटेन और उत्तरी आयरलैंड का यूनाइटेड किंगडम" के लिए है.

  • sessiontoken

    यह एक रैंडम स्ट्रिंग है. इससे बिलिंग के लिए, ऑटोकंप्लीट सेशन की पहचान की जाती है.

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

    • पांच से ज़्यादा टाइप दिए गए हैं.
    • कोई ऐसा टाइप मौजूद है जिसकी पहचान नहीं हुई है.
    • टेबल 1 या टेबल 2 में मौजूद किसी भी टाइप को टेबल 3 में मौजूद किसी भी फ़िल्टर के साथ मिलाया जाता है.

Place Autocomplete (लेगसी) के उदाहरण

सैन फ़्रांसिस्को, कैलिफ़ोर्निया के आस-पास के इलाके में मौजूद ऐसी जगहों के लिए अनुरोध जिनमें "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 देखें.

ज़रूरी नहीं स्ट्रिंग

जब सेवा, OK< के अलावा कोई दूसरा स्टेटस कोड दिखाती है, तो रिस्पॉन्स ऑब्जेक्ट में एक और error_message फ़ील्ड हो सकता है. इस फ़ील्ड में, दिए गए स्टेटस कोड की वजहों के बारे में ज़्यादा जानकारी होती है. यह फ़ील्ड हमेशा नहीं दिखता है. साथ ही, इसके कॉन्टेंट में बदलाव किया जा सकता है.

ज़रूरी नहीं Array<string>

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

नतीजों में place_id एलिमेंट खास तौर पर काम के होते हैं. इनका इस्तेमाल, किसी जगह के बारे में ज़्यादा जानकारी पाने के लिए किया जा सकता है. इसके लिए, अलग क्वेरी का इस्तेमाल किया जाता है. जगह के बारे में ज़्यादा जानकारी (लेगसी) के अनुरोध देखें.

एक्सएमएल जवाब में एक <AutocompletionResponse> एलिमेंट होता है. इसमें दो तरह के चाइल्ड एलिमेंट होते हैं:

हमारा सुझाव है कि आप json को पसंदीदा आउटपुट फ़्लैग के तौर पर इस्तेमाल करें. हालांकि, अगर आपके ऐप्लिकेशन को किसी वजह से xml की ज़रूरत है, तो इसका इस्तेमाल किया जा सकता है. एक्सएमएल ट्री को प्रोसेस करने के लिए, कुछ बातों का ध्यान रखना ज़रूरी है. इससे आपको सही नोड और एलिमेंट का रेफ़रंस देने में मदद मिलती है. एक्सएमएल को प्रोसेस करने के बारे में जानने के लिए, XPath की मदद से एक्सएमएल को प्रोसेस करना लेख पढ़ें.

PlacesAutocompleteStatus

सेवा से मिले स्टेटस कोड.

  • OK से पता चलता है कि एपीआई अनुरोध पूरा हो गया है.
  • ZERO_RESULTS से पता चलता है कि खोज पूरी हो गई है, लेकिन कोई नतीजा नहीं मिला. ऐसा तब हो सकता है, जब खोज के लिए दूर-दराज़ की जगह की सीमाएं तय की गई हों.
  • INVALID_REQUEST से पता चलता है कि एपीआई अनुरोध गलत तरीके से किया गया था. आम तौर पर, ऐसा input पैरामीटर के मौजूद न होने की वजह से होता है.
  • OVER_QUERY_LIMIT इनमें से किसी भी समस्या के बारे में बताता है:
    • आपने क्यूपीएस की सीमाएं पार कर ली हैं.
    • आपके खाते में बिलिंग की सुविधा चालू नहीं है.
    • महीने के 200 डॉलर के क्रेडिट या इस्तेमाल की तय सीमा से ज़्यादा का इस्तेमाल किया गया है.
    • पेमेंट का दिया गया तरीका अब मान्य नहीं है. उदाहरण के लिए, क्रेडिट कार्ड की समयसीमा खत्म हो गई है.
    इस गड़बड़ी को ठीक करने के तरीके के बारे में ज़्यादा जानने के लिए, Maps के बारे में अक्सर पूछे जाने वाले सवाल देखें.
  • REQUEST_DENIED में बताया गया है कि आपका अनुरोध अस्वीकार कर दिया गया है. आम तौर पर, इसकी वजह यह होती है:
    • अनुरोध में एपीआई पासकोड मौजूद नहीं है.
    • key पैरामीटर अमान्य है.
  • UNKNOWN_ERROR से पता चलता है कि कोई गड़बड़ी हुई है.

जब Places सेवा, खोज के नतीजों को JSON फ़ॉर्मैट में दिखाती है, तो वह उन्हें predictions कलेक्शन में रखती है. अगर सेवा कोई नतीजा नहीं दिखाती है (जैसे कि अगर location दूर है), तब भी वह एक खाली predictions कलेक्शन दिखाती है. XML फ़ॉर्मैट में मिले जवाबों में, शून्य या उससे ज़्यादा <prediction> एलिमेंट होते हैं.

PlaceAutocompletePrediction

फ़ील्ड ज़रूरी है टाइप ब्यौरा
ज़रूरी है स्ट्रिंग

इसमें खोज के नतीजों का ऐसा नाम होता है जिसे आसानी से पढ़ा जा सकता है. establishment नतीजों के लिए, यह आम तौर पर कारोबार का नाम होता है. इस कॉन्टेंट को जैसा है वैसा ही पढ़ा जाना चाहिए. फ़ॉर्मैट किए गए पते को प्रोग्राम के हिसाब से पार्स न करें.

ज़रूरी है Array<PlaceAutocompleteMatchedSubstring>

सबस्ट्रिंग की एक सूची, जिसमें अनुमानित नतीजे के टेक्स्ट में डाले गए शब्द की जगह के बारे में बताया गया है. इससे, चुने जाने पर शब्द को हाइलाइट किया जा सकता है.

ज़्यादा जानकारी के लिए, PlaceAutocompleteMatchedSubstring देखें.

ज़रूरी है PlaceAutocompleteStructuredFormat

यह पहले से फ़ॉर्मैट किया गया टेक्स्ट उपलब्ध कराता है, जिसे ऑटोकंप्लीट की सुविधा वाले नतीजों में दिखाया जा सकता है. इस कॉन्टेंट को जैसा है वैसा ही पढ़ा जाना चाहिए. फ़ॉर्मैट किए गए पते को प्रोग्राम के हिसाब से पार्स न करें.

ज़्यादा जानकारी के लिए, PlaceAutocompleteStructuredFormat देखें.

ज़रूरी है Array<PlaceAutocompleteTerm>

इसमें ऐसे शब्दों का कलेक्शन होता है जो जवाब में मिली जानकारी के हर सेक्शन की पहचान करते हैं. जानकारी का एक सेक्शन आम तौर पर, कॉमा से खत्म होता है. ऐरे में मौजूद हर एंट्री में, value फ़ील्ड होता है. इसमें शब्द का टेक्स्ट होता है. साथ ही, इसमें offset फ़ील्ड होता है. यह फ़ील्ड, ब्यौरे में इस शब्द की शुरुआती पोज़िशन तय करता है. इसे यूनिकोड वर्णों में मापा जाता है.

ज़्यादा जानकारी के लिए, PlaceAutocompleteTerm देखें.

ज़रूरी नहीं पूर्णांक

ऑरिजिन से सीधी दूरी, मीटर में. यह फ़ील्ड, सिर्फ़ origin के साथ किए गए अनुरोधों के लिए दिखाया जाता है.

ज़रूरी नहीं स्ट्रिंग

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

ज़रूरी नहीं स्ट्रिंग

place_id देखें.

ज़रूरी नहीं Array<string>

इसमें उन टाइप का कलेक्शन होता है जो इस जगह पर लागू होते हैं. उदाहरण के लिए: [ "political", "locality" ] या [ "establishment", "geocode", "beauty_salon" ]. ऐरे में कई वैल्यू हो सकती हैं. जगह के टाइप के बारे में ज़्यादा जानें.

PlaceAutocompleteMatchedSubstring

फ़ील्ड ज़रूरी है टाइप ब्यौरा
ज़रूरी है संख्या

अनुमान के नतीजे के टेक्स्ट में, मैच किए गए सबस्ट्रिंग की लंबाई.

ज़रूरी है संख्या

मिलान करने वाली सबस्ट्रिंग की शुरुआती जगह, अनुमान के नतीजे के टेक्स्ट में.

PlaceAutocompleteStructuredFormat

फ़ील्ड ज़रूरी है टाइप ब्यौरा
ज़रूरी है स्ट्रिंग

इसमें अनुमान का मुख्य टेक्स्ट होता है. आम तौर पर, यह जगह का नाम होता है.

ज़रूरी है Array<PlaceAutocompleteMatchedSubstring>

इसमें offset वैल्यू और length वाला एक अरे शामिल होता है. इनसे, अनुमानित नतीजे के टेक्स्ट में डाले गए शब्द की जगह के बारे में पता चलता है, ताकि चुने जाने पर शब्द को हाइलाइट किया जा सके.

ज़्यादा जानकारी के लिए, PlaceAutocompleteMatchedSubstring देखें.

ज़रूरी नहीं स्ट्रिंग

इसमें अनुमानित नतीजे का सेकंडरी टेक्स्ट होता है. आम तौर पर, यह जगह की जानकारी होती है.

ज़रूरी नहीं Array<PlaceAutocompleteMatchedSubstring>

इसमें offset वैल्यू और length वाला एक अरे शामिल होता है. इनसे, अनुमानित नतीजे के टेक्स्ट में डाले गए शब्द की जगह के बारे में पता चलता है, ताकि चुने जाने पर शब्द को हाइलाइट किया जा सके.

ज़्यादा जानकारी के लिए, PlaceAutocompleteMatchedSubstring देखें.

PlaceAutocompleteTerm

फ़ील्ड ज़रूरी है टाइप ब्यौरा
ज़रूरी है संख्या

यह बताता है कि ब्यौरे में यह शब्द कहां से शुरू होता है. इसे यूनिकोड वर्णों में मापा जाता है

ज़रूरी है स्ट्रिंग

शब्द का टेक्स्ट.

किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) को ऑप्टिमाइज़ करना

इस सेक्शन में, Place Autocomplete (लेगसी) सेवा का ज़्यादा से ज़्यादा फ़ायदा पाने के लिए, सबसे सही तरीकों के बारे में बताया गया है.

यहां कुछ सामान्य दिशा-निर्देश दिए गए हैं:

लागत ऑप्टिमाइज़ करने के सबसे सही तरीके

लागत ऑप्टिमाइज़ेशन की बुनियादी सेटिंग

Place Autocomplete (लेगसी) सेवा का इस्तेमाल करने की लागत को ऑप्टिमाइज़ करने के लिए, Place Details (लेगसी) और Place Autocomplete (लेगसी) विजेट में फ़ील्ड मास्क का इस्तेमाल करें. इससे आपको सिर्फ़ वे Place Autocomplete (लेगसी) डेटा फ़ील्ड मिलेंगे जिनकी आपको ज़रूरत है.

लागत ऑप्टिमाइज़ेशन की बेहतर सेटिंग

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

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

क्या आपके ऐप्लिकेशन को चुनी गई जगह के पते और अक्षांश/देशांतर के अलावा किसी अन्य जानकारी की ज़रूरत है?

हां, ज़्यादा जानकारी चाहिए

जगह के बारे में ज़्यादा जानकारी (लेगसी) के साथ, सेशन पर आधारित Place Autocomplete (लेगसी) का इस्तेमाल करें.
आपके ऐप्लिकेशन को जगह के बारे में ज़्यादा जानकारी (लेगसी) की ज़रूरत होती है. जैसे, जगह का नाम, कारोबार की स्थिति या खुलने का समय. इसलिए, Place Autocomplete (लेगसी) को लागू करते समय, आपको
हर सेशन के लिए सेशन टोकन का इस्तेमाल करना चाहिए. यह प्रोग्राम के हिसाब से या JavaScript, Android या iOS विजेट में बनाया गया होता है.1

विजेट लागू करना
सेशन मैनेजमेंट की सुविधा, JavaScript, Android या iOS विजेट में अपने-आप शामिल होती है. इसमें, चुने गए सुझाव के लिए, Place Autocomplete (लेगसी) के अनुरोध और जगह के बारे में ज़्यादा जानकारी (लेगसी) के अनुरोध, दोनों शामिल हैं. fields पैरामीटर को ज़रूर तय करें, ताकि यह पक्का किया जा सके कि आपने सिर्फ़ Place Autocomplete (लेगसी) के डेटा फ़ील्ड का अनुरोध किया है.

प्रोग्राम के हिसाब से लागू करना
Place Autocomplete (लेगसी) के अनुरोधों के साथ सेशन टोकन का इस्तेमाल करें. चुनी गई जगह के बारे में ज़्यादा जानकारी (लेगसी) का अनुरोध करते समय, ये पैरामीटर शामिल करें:

  1. Place Autocomplete (लेगसी) के जवाब से मिला जगह का आईडी
  2. Place Autocomplete (लेगसी) के अनुरोध में इस्तेमाल किया गया सेशन टोकन
  3. fields पैरामीटर, Place Autocomplete (लेगसी) के उन डेटा फ़ील्ड के बारे में बताता है जिनकी आपको ज़रूरत है

नहीं, सिर्फ़ पता और जगह की जानकारी चाहिए

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

इस सवाल का जवाब देने के लिए, यह विश्लेषण करें कि कोई उपयोगकर्ता आपके ऐप्लिकेशन में, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के सुझाव को चुनने से पहले, औसतन कितने वर्ण टाइप करता है.

क्या आपके उपयोगकर्ता, औसतन चार या इससे कम अनुरोधों में, Place Autocomplete (लेगसी) की सुविधा से मिले सुझाव को चुनते हैं?

हां

सेशन टोकन के बिना, प्रोग्राम के हिसाब से Place Autocomplete (लेगसी) लागू करें और चुनी गई जगह के सुझाव पर Geocoding API को कॉल करें.
Geocoding API, पते और अक्षांश/देशांतर के निर्देशांक उपलब्ध कराता है. चुनी गई जगह के बारे में, Geocoding API कॉल के साथ-साथ चार ऑटोकंप्लीट - हर अनुरोध अनुरोध करने पर, हर सेशन के लिए किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) की लागत, हर सेशन के लिए कम होती है.1

परफ़ॉर्मेंस के सबसे सही तरीकों का इस्तेमाल करें, ताकि आपके उपयोगकर्ताओं को कम वर्णों में भी वह अनुमान मिल सके जिसकी वे तलाश कर रहे हैं.

नहीं

सेशन पर आधारित किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) का इस्तेमाल, जगह के बारे में ज़्यादा जानकारी (लेगसी) के साथ करें.
किसी उपयोगकर्ता के Place Autocomplete (लेगसी) के सुझाव को चुनने से पहले, आपको अनुरोधों की औसत संख्या के हिसाब से शुल्क देना होगा. यह शुल्क, हर सेशन के लिए तय किए गए शुल्क से ज़्यादा है. इसलिए, Place Autocomplete (लेगसी) को लागू करने के लिए, आपको Place Autocomplete (लेगसी) के अनुरोधों और उससे जुड़े जगह के बारे में ज़्यादा जानकारी (लेगसी) के अनुरोध, दोनों के लिए हर सेशन के हिसाब से सेशन टोकन का इस्तेमाल करना चाहिए. 1

विजेट लागू करना
सेशन मैनेजमेंट की सुविधा, JavaScript, Android या iOS विजेट में अपने-आप शामिल होती है. इसमें, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोध और चुने गए सुझाव पर जगह के बारे में ज़्यादा जानकारी (लेगसी) के अनुरोध, दोनों शामिल हैं. यह पक्का करने के लिए कि आपने सिर्फ़ उन फ़ील्ड का अनुरोध किया है जिनकी आपको ज़रूरत है, fields पैरामीटर तय करना न भूलें.

प्रोग्राम के हिसाब से लागू करना
Place Autocomplete (लेगसी) के अनुरोधों के साथ सेशन टोकन का इस्तेमाल करें. चुने गए सुझाव के बारे में जगह के बारे में ज़्यादा जानकारी (लेगसी) का अनुरोध करते समय, ये पैरामीटर शामिल करें:

  1. Place Autocomplete (लेगसी) के जवाब से मिला जगह का आईडी
  2. Place Autocomplete (लेगसी) के अनुरोध में इस्तेमाल किया गया सेशन टोकन
  3. fields पैरामीटर, जिसमें बुनियादी डेटा फ़ील्ड जैसे कि पता और ज्यामिति की जानकारी दी गई हो

जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोधों को कुछ समय के लिए रोकें
आपके पास ऐसी रणनीतियों का इस्तेमाल करने का विकल्प होता है. जैसे, उपयोगकर्ता के पहले तीन या चार वर्ण टाइप करने तक, जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोध को कुछ समय के लिए रोकें. इससे आपका ऐप्लिकेशन कम अनुरोध करेगा. उदाहरण के लिए, अगर उपयोगकर्ता के तीन वर्ण टाइप करने के बाद हर वर्ण के लिए Place Autocomplete (लेगसी) अनुरोध किए जाते हैं, तो इसका मतलब है कि अगर उपयोगकर्ता सात वर्ण टाइप करता है और फिर किसी ऐसे सुझाव को चुनता है जिसके लिए आपने Geocoding API का एक अनुरोध किया है, तो कुल लागत, Place Autocomplete (लेगसी) के चार अनुरोध + Geocoding के लिए होगी.1

अगर अनुरोधों को कुछ समय के लिए रोकने से, प्रोग्राम के हिसाब से किए गए अनुरोधों की औसत संख्या चार से कम हो जाती है, तो Geocoding API के साथ, Place Autocomplete (लेगसी) को बेहतर तरीके से लागू करने से जुड़े दिशा-निर्देशों का पालन करें. ध्यान दें कि अनुरोधों में देरी होने पर, उपयोगकर्ता को ऐसा लग सकता है कि सिस्टम ठीक से काम नहीं कर रहा है. ऐसा इसलिए, क्योंकि वह हर नए कीस्ट्रोक पर अनुमानित नतीजे देखना चाहता है.

परफ़ॉर्मेंस के सबसे सही तरीकों का इस्तेमाल करें, ताकि आपके उपयोगकर्ताओं को कम वर्णों में वह अनुमान मिल सके जिसकी वे तलाश कर रहे हैं.


  1. शुल्क के बारे में जानने के लिए, Google Maps Platform के शुल्क की सूची देखें.

परफ़ॉर्मेंस के सबसे सही तरीके

यहां दिए गए दिशा-निर्देशों में, जगह के नाम अपने-आप भरने की सुविधा (लेगसी) की परफ़ॉर्मेंस को ऑप्टिमाइज़ करने के तरीके बताए गए हैं:

  • जगह के नाम अपने-आप भरने की सुविधा (लेगसी) को लागू करते समय, इन सेटिंग को कॉन्फ़िगर करें: देश से जुड़ी पाबंदियां, जगह के हिसाब से नतीजे दिखाने की सुविधा, और (प्रोग्राम के हिसाब से लागू करने के लिए) भाषा से जुड़ी प्राथमिकता. विजेट के लिए भाषा से जुड़ी प्राथमिकता सेट करने की ज़रूरत नहीं होती, क्योंकि वे उपयोगकर्ता के ब्राउज़र या मोबाइल डिवाइस से भाषा से जुड़ी प्राथमिकताएं चुनते हैं.
  • अगर Place Autocomplete (लेगसी) के साथ मैप मौजूद है, तो मैप व्यूपोर्ट के हिसाब से जगह की जानकारी को प्राथमिकता दी जा सकती है.
  • जब कोई उपयोगकर्ता, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के सुझावों में से किसी एक को नहीं चुनता है, तो आम तौर पर ऐसा इसलिए होता है, क्योंकि इनमें से कोई भी सुझाव, खोजे गए पते से मेल नहीं खाता. ऐसे में, ज़्यादा काम के नतीजे पाने के लिए, उपयोगकर्ता के इनपुट का फिर से इस्तेमाल किया जा सकता है:
    • अगर आपको लगता है कि उपयोगकर्ता सिर्फ़ पते की जानकारी डालेगा, तो Geocoding API को कॉल करने के लिए, उपयोगकर्ता के इनपुट का फिर से इस्तेमाल करें.
    • अगर आपको लगता है कि उपयोगकर्ता किसी जगह का नाम या पता डालकर क्वेरी करेगा, तो जगह के बारे में ज़्यादा जानकारी (लेगसी) का अनुरोध करें. अगर आपको नतीजे सिर्फ़ किसी खास इलाके में चाहिए, तो जगह के हिसाब से नतीजों को प्राथमिकता देने की सुविधा का इस्तेमाल करें.
    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 (लेगसी) को उस जगह के सिर्फ़ नतीजे दिखाने का निर्देश मिलता है.