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

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

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 है.

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

Place Autocomplete (लेगसी) का अनुरोध, इस तरह का एचटीटीपी यूआरएल होता है:

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.
    • 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 मीटर
  • प्रांत

    क्षेत्र का कोड, ccTLD ("टॉप-लेवल डोमेन") के तौर पर दो वर्णों वाली वैल्यू के तौर पर दिया गया है. ज़्यादातर ccTLD कोड, ISO 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=restaurant वैल्यू नहीं दी जा सकती जहां खाना परोसा जाता है. इसके लिए, सिर्फ़ types=lodging वैल्यू दी जा सकती है.

    types पैरामीटर की वैल्यू के लिए, इनमें से कोई एक वैल्यू तय की जा सकती है:

    • टेबल 1 या टेबल 2 से पांच वैल्यू तक. एक से ज़्यादा वैल्यू के लिए, हर वैल्यू को | (वर्टिकल बार) से अलग करें. उदाहरण के लिए:

      types=book_store|cafe

    • टेबल 3 में मौजूद, फ़िल्टर करने की सुविधा वाले किसी भी फ़ील्ड का इस्तेमाल किया जा सकता है. टाइप कलेक्शन को मिक्स नहीं किया जा सकता.

    इन मामलों में, अनुरोध को INVALID_REQUEST गड़बड़ी के साथ अस्वीकार कर दिया जाएगा:

    • पांच से ज़्यादा टाइप दिए गए हैं.
    • कोई ऐसा टाइप मौजूद है जिसकी पहचान नहीं हुई है.
    • Table 1 या Table 2 में मौजूद किसी भी टाइप को Table 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 देखें.

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

जब सेवा, 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 कलेक्शन दिखाती है. एक्सएमएल जवाबों में, शून्य या उससे ज़्यादा <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

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

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

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

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

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

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

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

  • काम करने वाला यूज़र इंटरफ़ेस बनाने का सबसे आसान तरीका यह है कि Maps JavaScript API Place Autocomplete (लेगसी) विजेट, Android के लिए Places SDK Place Autocomplete (लेगसी) विजेट या iOS के लिए Places SDK Place Autocomplete (लेगसी) यूज़र इंटरफ़ेस कंट्रोल का इस्तेमाल किया जाए.
  • शुरू से ही, Place Autocomplete (लेगसी) के ज़रूरी डेटा फ़ील्ड के बारे में जानें.
  • जगह की जानकारी के आधार पर नतीजे दिखाने और जगह की जानकारी के आधार पर पाबंदी लगाने वाले फ़ील्ड ज़रूरी नहीं हैं. हालांकि, इनसे ऑटोकंप्लीट की सुविधा की परफ़ॉर्मेंस पर काफ़ी असर पड़ सकता है.
  • गड़बड़ी को मैनेज करने की सुविधा का इस्तेमाल करें, ताकि एपीआई से गड़बड़ी मिलने पर आपका ऐप्लिकेशन सही तरीके से काम करता रहे.
  • पक्का करें कि जब कोई विकल्प न चुना गया हो, तब आपका ऐप्लिकेशन काम करे. साथ ही, उपयोगकर्ताओं को आगे बढ़ने का विकल्प दे.

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

लागत को ऑप्टिमाइज़ करने की बुनियादी सुविधा

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

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

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

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

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

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

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

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

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

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

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

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

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

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

हां

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

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

नहीं

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

विजेट लागू करना
सेशन मैनेजमेंट की सुविधा, JavaScript, Android या iOS विजेट में अपने-आप शामिल होती है. इसमें, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के अनुरोध और चुने गए सुझाव के लिए, Place Details (लेगसी) का अनुरोध, दोनों शामिल हैं. यह पक्का करें कि आपने 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 (लेगसी) को लागू करने के लिए, देश से जुड़ी पाबंदियां, जगह के हिसाब से नतीजे दिखाने की सुविधा, और (प्रोग्राम के हिसाब से लागू करने के लिए) भाषा की प्राथमिकता जोड़ें. विजेट के लिए भाषा की प्राथमिकता सेट करने की ज़रूरत नहीं होती, क्योंकि वे उपयोगकर्ता के ब्राउज़र या मोबाइल डिवाइस से भाषा की प्राथमिकताएं चुनते हैं.
  • अगर Place Autocomplete (लेगसी) के साथ मैप मौजूद है, तो मैप व्यूपोर्ट के हिसाब से जगह की जानकारी को प्राथमिकता दी जा सकती है.
  • जब कोई उपयोगकर्ता, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) के सुझावों में से कोई विकल्प नहीं चुनता है, तो आम तौर पर ऐसा इसलिए होता है, क्योंकि उनमें से कोई भी सुझाव, उपयोगकर्ता के खोजे गए पते से मेल नहीं खाता. ऐसे में, ज़्यादा काम के नतीजे पाने के लिए, उपयोगकर्ता के ओरिजनल इनपुट का फिर से इस्तेमाल किया जा सकता है:
    • अगर आपको लगता है कि उपयोगकर्ता सिर्फ़ पते की जानकारी डालेगा, तो Geocoding API को कॉल करने के लिए, उपयोगकर्ता के इनपुट का फिर से इस्तेमाल करें.
    • अगर आपको लगता है कि उपयोगकर्ता किसी जगह का नाम या पता डालकर क्वेरी करेगा, तो जगह के बारे में ज़्यादा जानकारी (लेगसी) का अनुरोध करें. अगर आपको सिर्फ़ किसी खास इलाके के नतीजे चाहिए, तो जगह के हिसाब से नतीजे दिखाने की सुविधा का इस्तेमाल करें.
    Geocoding API का इस्तेमाल करने के लिए, यहां कुछ और उदाहरण दिए गए हैं:
    • ऐसे लोग जो सबप्रीमाइज़ के पते डालते हैं. जैसे, किसी बिल्डिंग में मौजूद खास यूनिट या अपार्टमेंट के पते. उदाहरण के लिए, चेक गणराज्य का पता "Stroupežnického 3191/17, Praha" डालने पर, किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) में, पते का अधूरा सुझाव मिलता है.
    • ऐसे उपयोगकर्ता जो न्यूयॉर्क शहर में "23-30 29th St, Queens" या हवाई द्वीप के काउआई में "47-380 Kamehameha Hwy, Kaneohe" जैसे सड़क के हिस्से के प्रीफ़िक्स वाले पते डालते हैं.

लोकेशन के हिसाब से पक्षपात करना

location पैरामीटर और radius पैरामीटर को पास करके, किसी खास इलाके के हिसाब से नतीजे दिखाएं. इससे Place Autocomplete (लेगसी) को यह निर्देश मिलता है कि वह तय किए गए इलाके में मौजूद जगहों के नतीजे दिखाए. तय किए गए इलाके से बाहर के नतीजे अब भी दिख सकते हैं. includedRegionCodes पैरामीटर का इस्तेमाल करके, नतीजों को फ़िल्टर किया जा सकता है. इससे सिर्फ़ किसी देश में मौजूद जगहों के नतीजे दिखते हैं.

जगह की जानकारी से जुड़ी पाबंदियां

locationRestriction पैरामीटर पास करके, नतीजों को किसी तय जगह तक सीमित करें.

strictbounds पैरामीटर जोड़कर, नतीजों को location और radius पैरामीटर से तय किए गए इलाके तक सीमित किया जा सकता है. इससे Place Autocomplete (लेगसी) को उस इलाके के सिर्फ़ नतीजे दिखाने का निर्देश मिलता है.