ऑटोकंप्लीट (नया)

प्लैटफ़ॉर्म चुनें: Android iOS JavaScript वेब सेवा
यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

परिचय

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

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

ऑटोकंप्लीट (नया) से मिले जवाब में, दो तरह के सुझाव शामिल हो सकते हैं:

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

उदाहरण के लिए, आपने इनपुट के तौर पर स्ट्रिंग का इस्तेमाल करके, ऑटोकंप्लीट (नया) को कॉल किया. इस स्ट्रिंग में, उपयोगकर्ता के इनपुट का कुछ हिस्सा "Sicilian piz" शामिल है. साथ ही, खोज के लिए सैन फ़्रांसिस्को, कैलिफ़ोर्निया को चुना गया है. इसके बाद, जवाब में जगह के सुझावों की एक सूची होती है. यह सूची, खोज स्ट्रिंग और खोज के लिए चुनी गई जगह से मैच करती है. जैसे, "सिसिलियन पिज़्ज़ा किचन" नाम का रेस्टोरेंट और उस जगह के बारे में जानकारी.

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

जवाब में, क्वेरी के सुझावों की सूची भी शामिल हो सकती है. ये सुझाव, खोज स्ट्रिंग और खोज के लिए चुने गए इलाके से मैच करते हैं. जैसे, "सिसिलियन पिज़्ज़ा और पास्ता". जवाब में क्वेरी के हर सुझाव में, text फ़ील्ड शामिल होता है. इसमें टेक्स्ट से खोजने के लिए सुझाई गई स्ट्रिंग होती है. ज़्यादा जानकारी वाली खोज करने के लिए, उस स्ट्रिंग को टेक्स्ट से खोजें (नया वर्शन) में इनपुट के तौर पर इस्तेमाल करें.

APIs Explorer की मदद से, लाइव अनुरोध किए जा सकते हैं. इससे आपको एपीआई और उसके विकल्पों के बारे में जानकारी मिलती है:

Autocomplete (New) के अनुरोध

ऑटोकंप्लीट (नया) का अनुरोध, इस तरह के यूआरएल के लिए एचटीटीपी पोस्ट अनुरोध होता है:

https://places.googleapis.com/v1/places:autocomplete

सभी पैरामीटर को JSON अनुरोध के मुख्य हिस्से में या हेडर में, पोस्ट अनुरोध के हिस्से के तौर पर पास करें. उदाहरण के लिए:

curl -X POST -d '{
  "input": "pizza",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

काम करने वाले पैरामीटर

पैरामीटर

ब्यौरा

input*

खोजने के लिए टेक्स्ट स्ट्रिंग (पूरे शब्द, सबस्ट्रिंग, जगहों के नाम, पते, Plus Code).

FieldMask (एचटीटीपी हेडर)

कॉमा लगाकर अलग की गई सूची, जिसमें यह बताया गया है कि जवाब में कौनसे फ़ील्ड दिखाने हैं.

includedPrimaryTypes

यह नतीजों को उन जगहों तक सीमित करता है जो ज़्यादा से ज़्यादा पांच प्राइमरी टाइप में से किसी एक से मैच करती हैं.

includePureServiceAreaBusinesses

अगर इसकी वैल्यू true है, तो इसमें ऐसे कारोबार शामिल होते हैं जिनकी कोई दुकान नहीं है. जैसे, घर या दुकान पर सेवा देने वाले कारोबार. डिफ़ॉल्ट तौर पर, यह 'गलत' पर सेट होती है.

includeQueryPredictions

अगर इसकी वैल्यू true है, तो जवाब में जगह और क्वेरी, दोनों के सुझाव शामिल होते हैं. डिफ़ॉल्ट तौर पर, यह 'गलत' पर सेट होती है.

includedRegionCodes

नतीजों को सीमित करने के लिए, दो वर्णों वाले ज़्यादा से ज़्यादा 15 देश के कोड का कलेक्शन.

inputOffset

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

languageCode

नतीजों के लिए पसंदीदा भाषा (आईईटीएफ़ बीसीपी-47 कोड). यह डिफ़ॉल्ट रूप से, Accept-Language हेडर या 'en' पर सेट होता है.

locationBias

यह किसी इलाके (सर्कल या रेक्टैंगल) के बारे में बताता है, ताकि खोज के नतीजों को उस इलाके के हिसाब से दिखाया जा सके. हालांकि, इससे उस इलाके के बाहर के नतीजे भी दिखाए जा सकते हैं. इसका इस्तेमाल, locationRestriction के साथ नहीं किया जा सकता.

locationRestriction

खोज के नतीजों को सीमित करने के लिए, किसी इलाके (सर्कल या रेक्टैंगल) के बारे में बताता है. इस इलाके से बाहर के नतीजे शामिल नहीं किए जाते. इसका इस्तेमाल locationBias के साथ नहीं किया जा सकता.

origin

अनुमानित डेस्टिनेशन की सीधी दूरी (distanceMeters) का हिसाब लगाने के लिए इस्तेमाल किया जाने वाला ऑरिजिन पॉइंट (lat, long).

regionCode

जवाब को फ़ॉर्मैट करने और सुझावों को बायस करने के लिए इस्तेमाल किया जाने वाला देश/इलाके का कोड. जैसे, 'uk', 'fr'.

sessionToken

ऑटोकंप्लीट की सुविधा के लिए किए गए कॉल को बिलिंग के मकसद से एक सेशन में ग्रुप करने के लिए, उपयोगकर्ता की जनरेट की गई स्ट्रिंग.

* ज़रूरी फ़ील्ड को दिखाता है.

जवाब के बारे में जानकारी

Autocomplete (New) सेवा, रिस्पॉन्स के तौर पर JSON ऑब्जेक्ट दिखाती है. जवाब में:

  • suggestions कलेक्शन में, अनुमानित जगहों और क्वेरी की जानकारी होती है. यह जानकारी, उनके काम के होने के हिसाब से क्रम में होती है. हर जगह को placePrediction फ़ील्ड से और हर क्वेरी को queryPrediction फ़ील्ड से दिखाया जाता है.
  • placePrediction फ़ील्ड में, किसी जगह के अनुमान के बारे में पूरी जानकारी होती है. इसमें जगह का आईडी और टेक्स्ट के तौर पर ब्यौरा शामिल होता है.
    • input पैरामीटर में दिए गए उपयोगकर्ता के इनपुट से ज़्यादा सटीक तरीके से मैच करने के लिए, जगह के अनुमान के टेक्स्ट ब्यौरे में जगहों, सड़कों, और पते के अन्य कॉम्पोनेंट के वैकल्पिक नाम शामिल हो सकते हैं. ये वैकल्पिक नाम, उसी जगह के आईडी के लिए, जगह की जानकारी के नतीजों के displayName और पते के फ़ील्ड में दिखाए गए नामों से अलग हो सकते हैं.
    • इस संदर्भ में, कुछ जगहों के वैकल्पिक नाम languageCode पैरामीटर के आधार पर, उम्मीद से अलग भाषा में हो सकते हैं. यह इस बात पर निर्भर करता है कि कौनसे नाम, उपयोगकर्ता के इनपुट से ज़्यादा मेल खाते हैं.
  • queryPrediction फ़ील्ड में, क्वेरी के अनुमान के बारे में पूरी जानकारी होती है.

पूरा JSON ऑब्जेक्ट इस फ़ॉर्म में होता है:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }]
        },
      ...
    },
    {
      "queryPrediction": {
        "text": {
          "text": "Amoeba Music",
          "matches": [
            {
              "endOffset": 6
            }]
        },
        ...
    }
  ...]
}

ज़रूरी पैरामीटर

इनपुट

वह टेक्स्ट स्ट्रिंग जिसे खोजना है. पूरे शब्द और सबस्ट्रिंग, जगहों के नाम, पते, और प्लस कोड डालें. ऑटोकंप्लीट (नया) सेवा, इस स्ट्रिंग के आधार पर संभावित मैच दिखाती है. साथ ही, नतीजों को उनकी प्रासंगिकता के आधार पर क्रम से लगाती है.

ज़रूरी नहीं पैरामीटर

FieldMask

रिस्पॉन्स फ़ील्ड मास्क बनाकर, रिस्पॉन्स में दिखाए जाने वाले फ़ील्ड की सूची तय करें. एचटीटीपी हेडर X-Goog-FieldMask का इस्तेमाल करके, रिस्पॉन्स फ़ील्ड मास्क को तरीके में पास करें.

सुझाव वाले फ़ील्ड की कॉमा लगाकर अलग की गई सूची दें. उदाहरण के लिए, सुझाव का suggestions.placePrediction.text.text और suggestions.queryPrediction.text.text पाने के लिए.

  X-Goog-FieldMask: suggestions.placePrediction.text.text,suggestions.queryPrediction.text.text

सभी फ़ील्ड वापस पाने के लिए, * का इस्तेमाल करें.

  X-Goog-FieldMask: *

includeFutureOpeningBusinesses

अगर true है, तो यह उन कारोबारों की जानकारी दिखाता है जो आने वाले समय में खुलने वाले हैं. डिफ़ॉल्ट रूप से, यह false पर सेट होता है.

includedPrimaryTypes

किसी जगह के लिए, टेबल A या टेबल B में दी गई सूची में से सिर्फ़ एक प्राइमरी टाइप चुना जा सकता है. उदाहरण के लिए, मुख्य टाइप "mexican_restaurant" या "steak_house" हो सकता है.

डिफ़ॉल्ट रूप से, एपीआई input पैरामीटर के आधार पर सभी जगहों की जानकारी दिखाता है. भले ही, उस जगह से जुड़ी प्राइमरी टाइप वैल्यू कुछ भी हो. includedPrimaryTypes पैरामीटर को पास करके, नतीजों को किसी खास प्राइमरी टाइप या प्राइमरी टाइप तक सीमित करें.

इस पैरामीटर का इस्तेमाल करके, टेबल A या टेबल B से ज़्यादा से ज़्यादा पांच टाइप वैल्यू तय करें. जवाब में शामिल होने के लिए, किसी जगह की जानकारी, प्राइमरी टाइप की बताई गई वैल्यू में से किसी एक से मैच होनी चाहिए.

इस पैरामीटर में, (regions) या (cities) में से कोई एक भी शामिल हो सकता है. (regions) टाइप का कलेक्शन, इलाकों या डिवीज़न के हिसाब से फ़िल्टर करता है. जैसे, आस-पास के इलाके और पिन कोड. (cities) टाइप कलेक्शन, उन जगहों को फ़िल्टर करता है जिन्हें Google, शहर के तौर पर पहचानता है.

अनुरोध को INVALID_REQUEST गड़बड़ी के साथ अस्वीकार कर दिया जाता है, अगर:

  • पांच से ज़्यादा टाइप दिए गए हैं.
  • (cities) या (regions) के अलावा, किसी अन्य टाइप की वैल्यू दी गई हो.
  • किसी ऐसे टाइप की जानकारी दी गई हो जिसकी पहचान नहीं की जा सकी.

includePureServiceAreaBusinesses

अगर इसे true पर सेट किया जाता है, तो जवाब में ऐसे कारोबार शामिल होते हैं जो सीधे तौर पर ग्राहकों के पते पर जाकर सेवा देते हैं या डिलीवरी करते हैं. हालांकि, उनके कारोबार की कोई जगह नहीं होती. अगर इसे false पर सेट किया जाता है, तो एपीआई सिर्फ़ उन कारोबारों की जानकारी दिखाता है जिनकी काम करने की कोई तय जगह हो.

includeQueryPredictions

अगर true है, तो जवाब में जगह और क्वेरी, दोनों के सुझाव शामिल होते हैं. डिफ़ॉल्ट वैल्यू false होती है. इसका मतलब है कि जवाब में सिर्फ़ जगह के सुझाव शामिल होते हैं.

includedRegionCodes

सिर्फ़ उन क्षेत्रों के नतीजे शामिल करें जो सूची में दिए गए हैं. इन्हें ज़्यादा से ज़्यादा 15 ccTLD ("टॉप-लेवल डोमेन") के दो वर्णों वाली वैल्यू के कलेक्शन के तौर पर दिखाया जाता है. अगर इसे शामिल नहीं किया जाता है, तो जवाब पर कोई पाबंदी लागू नहीं होती. उदाहरण के लिए, जर्मनी और फ़्रांस तक ही सीमित रखने के लिए:

    "includedRegionCodes": ["de", "fr"]

अगर locationRestriction और includedRegionCodes, दोनों की वैल्यू दी जाती हैं, तो नतीजे दोनों सेटिंग के इंटरसेक्शन वाले इलाके में दिखते हैं.

inputOffset

शून्य पर आधारित यूनिकोड वर्ण ऑफ़सेट, जो input में कर्सर की पोज़िशन दिखाता है. कर्सर की पोज़िशन से, अनुमानों पर असर पड़ सकता है. अगर यह फ़ील्ड खाली है, तो डिफ़ॉल्ट रूप से input की लंबाई का इस्तेमाल किया जाता है.

languageCode

वह पसंदीदा भाषा जिसमें नतीजे दिखाए जाएंगे. अगर input में इस्तेमाल की गई भाषा, languageCode से तय की गई वैल्यू से अलग है, तो नतीजे अलग-अलग भाषाओं में हो सकते हैं. इसके अलावा, अगर नतीजे में मिली जगह का अनुवाद स्थानीय भाषा से languageCode में नहीं किया गया है, तो भी नतीजे अलग-अलग भाषाओं में हो सकते हैं.

  • पसंदीदा भाषा बताने के लिए, आपको आईईटीएफ़ बीसीपी-47 भाषा कोड का इस्तेमाल करना होगा.
  • अगर languageCode की वैल्यू नहीं दी गई है, तो एपीआई Accept-Language हेडर में दी गई वैल्यू का इस्तेमाल करता है. अगर दोनों में से कोई भी वैल्यू तय नहीं की गई है, तो डिफ़ॉल्ट वैल्यू en होती है. अगर आपने अमान्य भाषा कोड डाला है, तो एपीआई INVALID_ARGUMENT गड़बड़ी दिखाता है.
  • पसंदीदा भाषा का असर, एपीआई से मिलने वाले नतीजों के सेट और उनके क्रम पर थोड़ा पड़ता है. इससे एपीआई की, स्पेलिंग की गलतियों को ठीक करने की क्षमता पर भी असर पड़ता है.
  • हर अनुरोध में उपयोगकर्ता के इनपुट के आधार पर, जगह के सुझावों को अलग-अलग तरीके से फ़ॉर्मैट किया जाता है.
    • input पैरामीटर में मैच होने वाले शब्दों को सबसे पहले चुना जाता है. इसके लिए, languageCode पैरामीटर से बताई गई भाषा से जुड़ी प्राथमिकता के हिसाब से नाम इस्तेमाल किए जाते हैं. हालांकि, ऐसा तब होता है, जब ये नाम उपलब्ध हों. अगर ये नाम उपलब्ध नहीं हैं, तो उपयोगकर्ता के इनपुट से सबसे ज़्यादा मैच होने वाले नाम इस्तेमाल किए जाते हैं.
    • जगहों के नामों को वैकल्पिक नामों का इस्तेमाल करके फ़ॉर्मैट किया जा सकता है, ताकि वे input पैरामीटर में मौजूद शब्दों से मैच कर सकें. इनमें languageCode पैरामीटर से बताई गई भाषा के अलावा, अन्य भाषाओं में मौजूद नाम भी शामिल हैं.
    • मोहल्ले के पतों को स्थानीय भाषा में फ़ॉर्मैट किया जाता है. इसके लिए, ऐसी स्क्रिप्ट का इस्तेमाल किया जाता है जिसे उपयोगकर्ता पढ़ सके. हालांकि, ऐसा सिर्फ़ तब किया जाता है, जब input पैरामीटर में मौजूद शब्दों से मैच करने वाले शब्द चुने गए हों.
    • अन्य सभी पते, आपकी पसंदीदा भाषा में दिखाए जाते हैं. ऐसा तब होता है, जब input पैरामीटर में मौजूद शब्दों से मैच करने वाले शब्द चुन लिए जाते हैं. अगर पसंदीदा भाषा में कोई नाम उपलब्ध नहीं है, तो एपीआई सबसे मिलते-जुलते नाम का इस्तेमाल करता है.

locationBias या locationRestriction

खोज के दायरे को तय करने के लिए, locationBias या locationRestriction में से किसी एक को तय किया जा सकता है, लेकिन दोनों को नहीं. locationRestriction का मतलब है कि नतीजे उस इलाके के अंदर ही होने चाहिए. वहीं, locationBias का मतलब है कि नतीजे उस इलाके के आस-पास होने चाहिए, लेकिन वे उस इलाके से बाहर भी हो सकते हैं.

  • locationBias

    खोजने के लिए कोई हिस्सा तय करता है. यह जगह, बायस के तौर पर काम करती है. इसका मतलब है कि चुनी गई जगह के आस-पास के नतीजे दिखाए जा सकते हैं. इनमें, चुनी गई जगह से बाहर के नतीजे भी शामिल हैं.

  • locationRestriction

    खोजने के लिए कोई हिस्सा तय करता है. तय किए गए इलाके से बाहर के नतीजे नहीं दिखाए जाते.

locationBias या locationRestriction क्षेत्र को रेक्टैंगल व्यूपोर्ट या सर्कल के तौर पर तय करें.

  • सर्कल को सेंटर पॉइंट और मीटर में त्रिज्या से तय किया जाता है. रेडियस, 0.0 और 50000.0 के बीच होना चाहिए. इसमें ये दोनों भी शामिल हैं. डिफ़ॉल्ट वैल्यू 0.0 है. locationRestriction के लिए, आपको रेडियस की वैल्यू 0.0 से ज़्यादा पर सेट करनी होगी. ऐसा न होने पर, अनुरोध का कोई नतीजा नहीं मिलता.

    उदाहरण के लिए:

    "locationBias": {
      "circle": {
        "center": {
          "latitude": 37.7937,
          "longitude": -122.3965
        },
        "radius": 500.0
      }
    }
  • रेक्टैंगल, अक्षांश-देशांतर वाला व्यूपोर्ट होता है. इसे दो डायगोनल ऑपोज़िट low और हाई पॉइंट के तौर पर दिखाया जाता है. व्यूपोर्ट को एक बंद इलाका माना जाता है. इसका मतलब है कि इसमें इसकी सीमा शामिल होती है. अक्षांश की सीमा -90 से 90 डिग्री के बीच होनी चाहिए. साथ ही, देशांतर की सीमा -180 से 180 डिग्री के बीच होनी चाहिए:

    • अगर low = high है, तो व्यूपोर्ट में सिर्फ़ वह पॉइंट शामिल होता है.
    • अगर low.longitude > high.longitude है, तो देशांतर की रेंज उल्टी हो जाती है (व्यूपोर्ट, 180 डिग्री देशांतर लाइन को पार कर जाता है).
    • अगर low.longitude = -180 डिग्री और high.longitude = 180 डिग्री है, तो व्यूपोर्ट में सभी देशांतर शामिल होते हैं.
    • अगर low.longitude = 180 डिग्री और high.longitude = -180 डिग्री है, तो देशांतर की रेंज खाली होती है.

    low और high, दोनों फ़ील्ड में वैल्यू डालना ज़रूरी है. साथ ही, बॉक्स खाली नहीं होना चाहिए. खाली व्यूपोर्ट की वजह से गड़बड़ी होती है.

    उदाहरण के लिए, इस व्यूपोर्ट में न्यूयॉर्क शहर पूरी तरह से शामिल है:

    "locationBias": {
      "rectangle": {
        "low": {
          "latitude": 40.477398,
          "longitude": -74.259087
        },
        "high": {
          "latitude": 40.91618,
          "longitude": -73.70018
        }
      }
    }

origin

वह ऑरिजिन पॉइंट जिससे डेस्टिनेशन तक की सीधी दूरी कैलकुलेट की जाती है. इसे distanceMeters के तौर पर दिखाया जाता है. अगर यह वैल्यू नहीं दी जाती है, तो सीधी दूरी नहीं दिखाई जाएगी. अक्षांश और देशांतर निर्देशांक के तौर पर जानकारी देना ज़रूरी है:

"origin": {
    "latitude": 40.477398,
    "longitude": -74.259087
}

regionCode

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

सुझाव, देश/इलाके के कोड के आधार पर भी पक्षपातपूर्ण हो सकते हैं. Google का सुझाव है कि regionCode को उपयोगकर्ता की जगह के हिसाब से प्राथमिकताएं के अनुसार सेट करें.

अगर आपने कोई अमान्य देश/इलाका कोड डाला है, तो एपीआई INVALID_ARGUMENT गड़बड़ी का मैसेज दिखाएगा. लागू कानून के आधार पर, पैरामीटर से नतीजों पर असर पड़ सकता है.

regionCode सेट करने पर, हो सकता है कि उस इलाके के लिए मिलने वाले सुझावों में देश का नाम न दिखे. इसका मतलब है कि structuredFormat.secondaryText मौजूद नहीं हो सकता. इसलिए, पक्का करें कि आपका ऐप्लिकेशन उन मामलों को हैंडल करता हो जहां secondaryText तय नहीं है या मौजूद नहीं है.

sessionToken

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

नतीजों को बायस करने के लिए पैरामीटर चुनना

ऑटोकंप्लीट (नया) के पैरामीटर, खोज के नतीजों पर अलग-अलग तरह से असर डाल सकते हैं. इस टेबल में, मनमुताबिक नतीजे पाने के लिए पैरामीटर इस्तेमाल करने के सुझाव दिए गए हैं.
पैरामीटर इस्तेमाल करने का सुझाव
regionCode उपयोगकर्ता की जगह के हिसाब से सेट किया गया है.
includedRegionCodes नतीजों को चुनिंदा इलाकों की सूची तक सीमित करने के लिए सेट करें.
locationBias इसका इस्तेमाल तब करें, जब आपको किसी इलाके या उसके आस-पास के नतीजे चाहिए. अगर लागू हो, तो उस इलाके को मैप के व्यूपोर्ट के तौर पर तय करें जिसे उपयोगकर्ता देख रहा है.
locationRestriction इसका इस्तेमाल सिर्फ़ तब करें, जब किसी इलाके से बाहर के नतीजे नहीं दिखाए जाने हों.
origin इसका इस्तेमाल तब करें, जब हर अनुमान के लिए सीधी दूरी का इस्तेमाल करना हो.

ऑटोकंप्लीट (नया) के उदाहरण

locationRestriction का इस्तेमाल करके, खोज को किसी इलाके तक सीमित करना

खोज के लिए कोई इलाका तय करने के लिए, locationRestriction या locationBias का इस्तेमाल किया जा सकता है. हालांकि, दोनों का इस्तेमाल एक साथ नहीं किया जा सकता.

locationRestriction से, खोज के लिए चुने गए हिस्से का पता चलता है. तय किए गए इलाके से बाहर के नतीजे नहीं दिखाए जाते. यहां दिए गए उदाहरण में, अनुरोध को सैन फ़्रांसिस्को के आस-पास 5,000 मीटर के दायरे में मौजूद सर्कल तक सीमित करने के लिए, locationRestriction का इस्तेमाल किया गया है:

curl -X POST -d '{
  "input": "Art museum",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

तय किए गए इलाकों के सभी नतीजे, suggestions कलेक्शन में शामिल होते हैं:

  {
    "suggestions": [
      {
        "placePrediction": {
          "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q",
          "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q",
          "text": {
            "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA",
            "matches": [
              {
                "startOffset": 6,
                "endOffset": 16
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "Asian Art Museum",
              "matches": [
                {
                  "startOffset": 6,
                  "endOffset": 16
                }
              ]
            },
            "secondaryText": {
              "text": "Larkin Street, San Francisco, CA, USA"
            }
          },
          "types": [
            "establishment",
            "museum",
            "point_of_interest"
          ]
        }
      },
      {
        "placePrediction": {
          "place": "places/ChIJI7NivpmAhYARSuRPlbbn_2w",
          "placeId": "ChIJI7NivpmAhYARSuRPlbbn_2w",
          "text": {
            "text": "de Young Museum, Hagiwara Tea Garden Drive, San Francisco, CA, USA",
            "matches": [
              {
                "endOffset": 15
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "de Young Museum",
              "matches": [
                {
                  "endOffset": 15
                }
              ]
            },
            "secondaryText": {
              "text": "Hagiwara Tea Garden Drive, San Francisco, CA, USA"
            }
          },
          "types": [
            "establishment",
            "point_of_interest",
            "tourist_attraction",
            "museum"
          ]
        }
      },
      /.../
    ]
  }

खोज के नतीजों को आयताकार व्यूपोर्ट तक सीमित करने के लिए, locationRestriction का भी इस्तेमाल किया जा सकता है. यहां दिए गए उदाहरण में, अनुरोध को सैन फ़्रांसिस्को के डाउनटाउन तक सीमित किया गया है:

  curl -X POST -d '{
    "input": "Art museum",
    "locationRestriction": {
      "rectangle": {
        "low": {
          "latitude": 37.7751,
          "longitude": -122.4219
        },
        "high": {
          "latitude": 37.7955,
          "longitude": -122.3937
        }
      }
    }
  }' \
  -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
  https://places.googleapis.com/v1/places:autocomplete

नतीजे, suggestions कलेक्शन में मौजूद होते हैं:

  {
    "suggestions": [
      {
        "placePrediction": {
          "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q",
          "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q",
          "text": {
            "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA",
            "matches": [
              {
                "startOffset": 6,
                "endOffset": 16
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "Asian Art Museum",
              "matches": [
                {
                  "startOffset": 6,
                  "endOffset": 16
                }
              ]
            },
            "secondaryText": {
              "text": "Larkin Street, San Francisco, CA, USA"
            }
          },
          "types": [
            "point_of_interest",
            "museum",
            "establishment"
          ]
        }
      },
      {
        "placePrediction": {
          "place": "places/ChIJyQNK-4SAhYARO2DZaJleWRc",
          "placeId": "ChIJyQNK-4SAhYARO2DZaJleWRc",
          "text": {
            "text": "International Art Museum of America, Market Street, San Francisco, CA, USA",
            "matches": [
              {
                "startOffset": 14,
                "endOffset": 24
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "International Art Museum of America",
              "matches": [
                {
                  "startOffset": 14,
                  "endOffset": 24
                }
              ]
            },
            "secondaryText": {
              "text": "Market Street, San Francisco, CA, USA"
            }
          },
          "types": [
            "museum",
            "point_of_interest",
            "tourist_attraction",
            "art_gallery",
            "establishment"
          ]
        }
      }
    ]
  }

locationBias का इस्तेमाल करके, किसी इलाके के हिसाब से खोज के नतीजे पाना

locationBias के साथ, जगह की जानकारी का इस्तेमाल बायस के तौर पर किया जाता है. इसका मतलब है कि चुनी गई जगह के आस-पास के नतीजे दिखाए जा सकते हैं. इनमें, चुनी गई जगह से बाहर के नतीजे भी शामिल हैं. यहां दिए गए उदाहरण में, अनुरोध को सैन फ़्रांसिस्को के डाउनटाउन के लिए बायस किया गया है:

curl -X POST -d '{
  "input": "Amoeba",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

नतीजों में अब कई और आइटम शामिल हैं. इनमें 5, 000 मीटर के दायरे से बाहर के नतीजे भी शामिल हैं:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "store",
          "establishment",
          "home_goods_store"
        ]
      }
    },
    {
      "placePrediction": {
        "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw",
        "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw",
        "text": {
          "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Telegraph Avenue, Berkeley, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "establishment",
          "home_goods_store",
          "store"
        ]
      }
    },
    ...
  ]
}

locationBias का इस्तेमाल करके, खोज के नतीजों को रेक्टैंगल व्यूपोर्ट के हिसाब से भी दिखाया जा सकता है. यहां दिए गए उदाहरण में, अनुरोध को सैन फ़्रांसिस्को के डाउनटाउन तक सीमित किया गया है:

  curl -X POST -d '{
    "input": "Amoeba",
    "locationBias": {
      "rectangle": {
        "low": {
          "latitude": 37.7751,
          "longitude": -122.4219
        },
        "high": {
          "latitude": 37.7955,
          "longitude": -122.3937
        }
      }
    }
  }' \
  -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
  https://places.googleapis.com/v1/places:autocomplete

जवाब में, रेक्टैंगल व्यूपोर्ट के अंदर खोज के नतीजे दिखते हैं. हालांकि, बायस की वजह से कुछ नतीजे तय की गई सीमाओं से बाहर होते हैं. नतीजे, suggestions कलेक्शन में भी शामिल होते हैं:

  {
    "suggestions": [
      {
        "placePrediction": {
          "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
          "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
          "text": {
            "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "Amoeba Music",
              "matches": [
                {
                  "endOffset": 6
                }
              ]
            },
            "secondaryText": {
              "text": "Haight Street, San Francisco, CA, USA"
            }
          },
          "types": [
            "point_of_interest",
            "store",
            "establishment"
          ]
        }
      },
      {
        "placePrediction": {
          "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw",
          "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw",
          "text": {
            "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "Amoeba Music",
              "matches": [
                {
                  "endOffset": 6
                }
              ]
            },
            "secondaryText": {
              "text": "Telegraph Avenue, Berkeley, CA, USA"
            }
          },
          "types": [
            "point_of_interest",
            "store",
            "establishment"
          ]
        }
      },
      {
        "placePrediction": {
          "place": "places/ChIJRdmfADq_woARYaVhnfQSUTI",
          "placeId": "ChIJRdmfADq_woARYaVhnfQSUTI",
          "text": {
            "text": "Amoeba Music, Hollywood Boulevard, Los Angeles, CA, USA",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "Amoeba Music",
              "matches": [
                {
                  "endOffset": 6
                }
              ]
            },
            "secondaryText": {
              "text": "Hollywood Boulevard, Los Angeles, CA, USA"
            }
          },
          "types": [
            "point_of_interest",
            "store",
            "establishment"
          ]
        }
      },
    /.../
    ]
  }

includedPrimaryTypes का इस्तेमाल करना

includedPrimaryTypes पैरामीटर का इस्तेमाल करके, टेबल A, टेबल B या सिर्फ़ (regions) या सिर्फ़ (cities) से ज़्यादा से ज़्यादा पांच टाइप वैल्यू तय करें. जवाब में शामिल होने के लिए, किसी जगह की जानकारी को प्राइमरी टाइप की वैल्यू में से किसी एक से मैच करना चाहिए.

इस उदाहरण में, "Soccer" की input स्ट्रिंग तय की गई है. साथ ही, includedPrimaryTypes पैरामीटर का इस्तेमाल करके, नतीजों को "sporting_goods_store" टाइप के कारोबारों तक सीमित किया गया है:

curl -X POST -d '{
  "input": "Soccer",
  "includedPrimaryTypes": ["sporting_goods_store"],
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

अगर includedPrimaryTypes पैरामीटर को शामिल नहीं किया जाता है, तो नतीजों में ऐसे कारोबार शामिल हो सकते हैं जो आपको नहीं चाहिए. जैसे, "athletic_field".

क्वेरी के अनुमान पाने का अनुरोध करना

क्वेरी के सुझाव डिफ़ॉल्ट रूप से नहीं दिखाए जाते. जवाब में क्वेरी के अनुमान जोड़ने के लिए, includeQueryPredictions अनुरोध पैरामीटर का इस्तेमाल करें. उदाहरण के लिए:

curl -X POST -d '{
  "input": "Amoeba",
  "includeQueryPredictions": true,
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

suggestions कलेक्शन में अब जगह और क्वेरी, दोनों के सुझाव शामिल हैं. जैसा कि ऊपर जवाब के बारे में जानकारी में दिखाया गया है. हर क्वेरी के सुझाव में text फ़ील्ड शामिल होता है. इसमें टेक्स्ट से खोजने के लिए सुझाई गई स्ट्रिंग होती है. क्वेरी के लिए मिले किसी भी सुझाव के बारे में ज़्यादा जानकारी पाने के लिए, टेक्स्ट से खोजें (नया वर्शन) का अनुरोध किया जा सकता है.

ऑरिजिन का इस्तेमाल करना

इस उदाहरण में, अनुरोध में अक्षांश और देशांतर निर्देशांक के तौर पर origin शामिल करें. origin को शामिल करने पर, Autocomplete (New) जवाब में distanceMeters फ़ील्ड को शामिल करता है. इसमें origin से डेस्टिनेशन तक की सीधी दूरी शामिल होती है. इस उदाहरण में, सैन फ़्रांसिस्को के सेंटर को ऑरिजिन के तौर पर सेट किया गया है:

curl -X POST -d '{
  "input": "Amoeba",
  "origin": {
    "latitude": 37.7749,
    "longitude": -122.4194
  },
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

अब जवाब में distanceMeters शामिल है:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "home_goods_store",
          "establishment",
          "point_of_interest",
          "store",
          "electronics_store"
        ],
        "distanceMeters": 3012
      }
    }
  ]
}

आने वाले समय में खुलने वाले कारोबारों को ढूंढना

यहां न्यू मेडोज़, इडाहो में आने वाले समय में खुलने वाले कारोबारों के लिए, ऑटोकंप्लीट (नया) के अनुरोध का उदाहरण दिया गया है:

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-d '{
  "input": "Roberts Greenhouse and Tree Farm",
  "includeFutureOpeningBusinesses": true,
  "locationBias": {
    "circle": {
      "center": {"latitude": 44.9755100, "longitude": -116.2842180},
      "radius": 20
    }
  }
}' \
"https://places.googleapis.com/v1/places:autocomplete"

जवाब में जगह के बारे में जानकारी दी गई है, लेकिन यह नहीं बताया गया है कि वह जगह कब खुली थी.

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJp1-VoKWJplQRMz8g-7Wa3Do",
        "placeId": "ChIJp1-VoKWJplQRMz8g-7Wa3Do",
        "text": {
          "text": "Roberts Greenhouse and Tree Farm, McLain Street, New Meadows, ID, USA",
          "matches": [
            {
              "endOffset": 32
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Roberts Greenhouse and Tree Farm",
            "matches": [
              {
                "endOffset": 32
              }
            ]
          },
          "secondaryText": {
            "text": "McLain Street, New Meadows, ID, USA"
          }
        },
        "types": [
          "garden_center",
          "establishment",
          "service",
          "store",
          "point_of_interest"
        ]
      }
    }
  ]
}

जवाब में दूरी की जानकारी मौजूद नहीं है

कुछ मामलों में, अनुरोध में origin शामिल होने के बावजूद, रिस्पॉन्स बॉडी में distanceMeters मौजूद नहीं होता. ऐसा इन स्थितियों में हो सकता है:

  • route के अनुमानों में distanceMeters को शामिल नहीं किया गया है.
  • distanceMeters को तब शामिल नहीं किया जाता, जब इसकी वैल्यू 0 हो. ऐसा उन अनुमानों के लिए होता है जो दी गई origin जगह से एक मीटर से कम दूरी पर होते हैं.

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

ऑटोकंप्लीट (नया) ऑप्टिमाइज़ेशन

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

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

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

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

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

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

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

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

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

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

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

Place Details (New) के साथ, सेशन के हिसाब से ऑटोकंप्लीट (नई) की सुविधा

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

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

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

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

Geocoding API के साथ, हर अनुरोध के लिए Autocomplete (New) की सुविधा

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

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

सिर्फ़ पते की जानकारी देने वाले ऐप्लिकेशन के लिए, सेशन के हिसाब से ऑटोकंप्लीट (नया)

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

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

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

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

ऑटोकंप्लीट (नया) के अनुरोधों में देरी करने पर विचार करें
ऑटोकंप्लीट (नया) के अनुरोध में तब तक देरी करने जैसी रणनीतियां अपनाई जा सकती हैं, जब तक कि उपयोगकर्ता पहले तीन या चार वर्ण टाइप न कर ले. इससे आपके ऐप्लिकेशन को कम अनुरोध करने पड़ेंगे. उदाहरण के लिए, उपयोगकर्ता के तीसरा वर्ण टाइप करने के बाद, हर वर्ण के लिए Autocomplete (New) के अनुरोध करने का मतलब है कि अगर उपयोगकर्ता सात वर्ण टाइप करता है, तो वह उस सुझाव को चुनता है जिसके लिए आपने एक Geocoding API अनुरोध किया है. इसकी कुल लागत, हर अनुरोध के लिए चार Autocomplete (New) + Geocoding के लिए होगी.1

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

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


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

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

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

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

जगह के हिसाब से नतीजे दिखाना

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

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

locationRestriction पैरामीटर पास करके, नतीजों को किसी खास इलाके तक सीमित करना.

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

इसे आज़माएं!

APIs Explorer की मदद से, सैंपल अनुरोध किए जा सकते हैं. इससे आपको एपीआई और उसके विकल्पों के बारे में जानकारी मिलती है.

  1. पेज की दाईं ओर मौजूद, एपीआई आइकॉन api को चुनें.

  2. अनुरोध के पैरामीटर में बदलाव करें. हालांकि, ऐसा करना ज़रूरी नहीं है.

  3. Execute बटन को चुनें. डायलॉग बॉक्स में, वह खाता चुनें जिसका इस्तेमाल करके आपको अनुरोध करना है.

  4. APIs Explorer पैनल में, फ़ुलस्क्रीन आइकॉन fullscreen को चुनें. इससे APIs Explorer विंडो बड़ी हो जाएगी.