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

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

परिचय

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

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

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

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

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

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

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

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

ऑटोकंप्लीट (नई) सुविधा के अनुरोध

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

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

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

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*

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

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

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

includedPrimaryTypes

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

includePureServiceAreaBusinesses

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

includeQueryPredictions

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

includedRegionCodes

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

inputOffset

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

languageCode

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

locationBias

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

locationRestriction

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

origin

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

regionCode

जवाब को फ़ॉर्मैट करने और पूर्वाग्रह से जुड़ी सुझावों के लिए इस्तेमाल किया गया क्षेत्र कोड (जैसे, 'uk', 'fr').

sessionToken

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

* का मतलब है कि यह फ़ील्ड ज़रूरी है.

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

ऑटोकंप्लीट (नई सुविधा) से मिलने वाला रिस्पॉन्स, JSON ऑब्जेक्ट के तौर पर होता है. जवाब में:

  • suggestions ऐरे में, अनुमानित सभी जगहों और क्वेरी को उनकी अहमियत के हिसाब से क्रम में रखा जाता है. हर जगह को placePrediction फ़ील्ड से दिखाया जाता है और हर क्वेरी को queryPrediction फ़ील्ड से दिखाया जाता है.
  • placePrediction फ़ील्ड में, किसी एक जगह के बारे में अनुमानित जानकारी होती है. इसमें जगह का आईडी और टेक्स्ट के तौर पर ब्यौरा शामिल होता है.
  • 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 में नहीं किया गया है, तब भी ऐसा हो सकता है.

    • पसंदीदा भाषा तय करने के लिए, आपको IETF BCP-47 भाषा कोड का इस्तेमाल करना होगा.
    • अगर languageCode नहीं दिया गया है, तो एपीआई, Accept-Language हेडर में दी गई वैल्यू का इस्तेमाल करता है. अगर दोनों में से कोई भी वैल्यू नहीं दी गई है, तो डिफ़ॉल्ट वैल्यू en होती है. अगर आपने अमान्य भाषा कोड डाला है, तो एपीआई INVALID_ARGUMENT गड़बड़ी का मैसेज दिखाता है.
    • पसंदीदा भाषा का असर, एपीआई से मिले नतीजों के सेट और उनके क्रम पर पड़ता है. इससे, एपीआई की वर्तनी की गलतियों को ठीक करने की क्षमता पर भी असर पड़ता है.
    • यह एपीआई, सड़क का ऐसा पता देने की कोशिश करता है जिसे उपयोगकर्ता और स्थानीय लोग, दोनों पढ़ सकें. साथ ही, यह उपयोगकर्ता के इनपुट को भी दिखाता है. जगह की जानकारी के अनुमान, हर अनुरोध में उपयोगकर्ता के इनपुट के आधार पर अलग-अलग फ़ॉर्मैट में होते हैं.
      • 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) है, जबकि इसका ISO 3166-1 कोड "gb" है. तकनीकी तौर पर, यह "ग्रेट ब्रिटेन और उत्तरी आयरलैंड का यूनाइटेड किंगडम" के लिए है.

    सुझाव, क्षेत्र के कोड के आधार पर भी पक्षपाती होते हैं. Google, उपयोगकर्ता की क्षेत्रीय प्राथमिकता के हिसाब से regionCode सेट करने का सुझाव देता है.

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

  • sessionToken

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

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

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

ऑटोकंप्लीट (नई सुविधा) के उदाहरण

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

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) से, ज़्यादा से ज़्यादा पांच टाइप वैल्यू तय करें. जवाब में किसी जगह को शामिल करने के लिए, यह ज़रूरी है कि वह बताई गई प्राइमरी टाइप वैल्यू में से किसी एक से मेल खाती हो.

इस उदाहरण में, 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 शामिल करने पर, ऑटोकंप्लीट (नया वर्शन) जवाब में 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 मौजूद नहीं होता. ऐसा इन स्थितियों में हो सकता है:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

हां

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

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

नहीं

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

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

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

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

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

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

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


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

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

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

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

इसे आज़माएं!

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

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

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

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

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