Method: places.autocomplete

दिए गए इनपुट के लिए सुझाव दिखाता है.

एचटीटीपी अनुरोध

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

यह यूआरएल gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, यहां दिए गए स्ट्रक्चर का डेटा शामिल होता है:

जेएसओएन के काेड में दिखाना
{
  "input": string,
  "locationBias": {
    object (LocationBias)
  },
  "locationRestriction": {
    object (LocationRestriction)
  },
  "includedPrimaryTypes": [
    string
  ],
  "includedRegionCodes": [
    string
  ],
  "languageCode": string,
  "regionCode": string,
  "origin": {
    object (LatLng)
  },
  "inputOffset": integer,
  "includeQueryPredictions": boolean,
  "sessionToken": string
}
फ़ील्ड
input

string

ज़रूरी है. वह टेक्स्ट स्ट्रिंग जिस पर खोजना है.

locationBias

object (LocationBias)

ज़रूरी नहीं. चुनी गई जगह के लिए पक्षपातपूर्ण होता है.

locationBias या locationRestriction में से ज़्यादा से ज़्यादा एक सेट होना चाहिए. अगर दोनों में से कोई भी सेट नहीं है, तो नतीजों में आईपी पते के हिसाब से नतीजे होंगे. इसका मतलब है कि आईपी पते को, सही जगह से मैप किया जाएगा और उसका इस्तेमाल मापदंड के हिसाब से करने के सिग्नल के तौर पर किया जाएगा.

locationRestriction

object (LocationRestriction)

ज़रूरी नहीं. नतीजों को किसी खास जगह पर सीमित करें.

locationBias या locationRestriction में से ज़्यादा से ज़्यादा एक सेट होना चाहिए. अगर दोनों में से कोई भी सेट नहीं है, तो नतीजों में आईपी पते के हिसाब से नतीजे होंगे. इसका मतलब है कि आईपी पते को, सही जगह से मैप किया जाएगा और उसका इस्तेमाल मापदंड के हिसाब से करने के सिग्नल के तौर पर किया जाएगा.

includedPrimaryTypes[]

string

ज़रूरी नहीं. इसमें, जगह के टाइप (https://developers.google.com/maps/documentation/places/web-service/place-types) या सिर्फ़ (क्षेत्रों) या सिर्फ़ (शहरों) में, टेबल A या टेबल B से "रेस्टोरेंट" या "gas_station") शामिल होता है. किसी स्थान को केवल तभी लौटाया जाता है, जब उसका प्राथमिक प्रकार इस सूची में शामिल होता है. ज़्यादा से ज़्यादा पांच वैल्यू दी जा सकती हैं. अगर कोई टाइप तय नहीं किया गया है, तो सभी तरह की जगहें दिखाई जाती हैं.

includedRegionCodes[]

string

ज़रूरी नहीं. सिर्फ़ बताए गए क्षेत्रों में नतीजे शामिल करें. इन कोड में ज़्यादा से ज़्यादा 15 CLDR दो वर्ण वाले क्षेत्र कोड डालें. किसी खाली सेट से नतीजों पर पाबंदी नहीं होगी. अगर locationRestriction और includedRegionCodes, दोनों को सेट किया जाता है, तो नतीजे, चौराहे वाली जगह पर दिखाए जाएंगे.

languageCode

string

ज़रूरी नहीं. वह भाषा जिसमें नतीजे देने हैं. डिफ़ॉल्ट तौर पर यह en-US पर सेट होता है. अगर input में इस्तेमाल की गई भाषा languageCode से अलग है या लौटाए गए स्थान का स्थानीय भाषा से languageCode में अनुवाद नहीं है, तो परिणाम मिश्रित भाषाओं में हो सकते हैं.

regionCode

string

ज़रूरी नहीं. क्षेत्र का कोड, जिसे CLDR दो वर्णों वाले क्षेत्र के कोड के तौर पर दिखाया जाता है. इससे पते के फ़ॉर्मैट और नतीजों की रैंकिंग पर असर पड़ता है. साथ ही, नतीजों के दिखने पर भी असर पड़ सकता है. इससे, बताए गए क्षेत्र के लिए नतीजे सीमित नहीं होते. किसी क्षेत्र के लिए नतीजों पर पाबंदी लगाने के लिए, region_code_restriction का इस्तेमाल करें.

origin

object (LatLng)

ज़रूरी नहीं. वह मूल बिंदु जहां से मंज़िल के लिए जियोडेसिक दूरी की गणना की जाती है (distanceMeters के रूप में दिखाई जाती है). अगर यह मान छोड़ दिया जाता है, तो जियोडेसिक दूरी दिखाई नहीं देगी.

inputOffset

integer

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

अगर इस एट्रिब्यूट की वैल्यू खाली है, तो इसकी डिफ़ॉल्ट वैल्यू input होती है.

includeQueryPredictions

boolean

ज़रूरी नहीं. अगर सही है, तो जवाब में जगह और क्वेरी, दोनों के अनुमान शामिल होंगे. अगर ऐसा नहीं होता है, तो जवाब में सिर्फ़ जगह के लिए सुझाव दिखाए जाएंगे.

sessionToken

string

ज़रूरी नहीं. इस स्ट्रिंग की मदद से बिलिंग के लिए, ऑटोकंप्लीट की सुविधा वाले सेशन की पहचान की जाती है. यूआरएल और फ़ाइल नाम के लिए सुरक्षित base64 स्ट्रिंग होनी चाहिए, जिसमें ज़्यादा से ज़्यादा 36 ASCII वर्ण हों. अन्यथा एक INVALID_LAMBDA गड़बड़ी दिखाई जाती है.

सेशन तब शुरू होता है, जब उपयोगकर्ता क्वेरी टाइप करना शुरू करता है और किसी जगह को चुनने के बाद खत्म होता है. इसके बाद, जगह की जानकारी या पते की पुष्टि करने के लिए कॉल किया जाता है. हर सेशन में एक से ज़्यादा क्वेरी हो सकती हैं. इसके बाद, एक जगह की जानकारी या पते की पुष्टि का अनुरोध किया जा सकता है. किसी सेशन में हर अनुरोध के लिए इस्तेमाल किए जाने वाले क्रेडेंशियल, एक ही Google Cloud Console प्रोजेक्ट से जुड़े होने चाहिए. सेशन खत्म होने के बाद, टोकन मान्य नहीं रहता. आपके ऐप्लिकेशन को हर सेशन के लिए नया टोकन जनरेट करना होगा. अगर sessionToken पैरामीटर को शामिल नहीं किया जाता है या किसी सेशन टोकन का फिर से इस्तेमाल किया जाता है, तो सेशन पर इस तरह से शुल्क लिया जाता है जैसे कि कोई सेशन टोकन न दिया गया हो. हर अनुरोध के लिए, अलग से बिल भेजा जाता है.

हमारा सुझाव है कि आप ये दिशा-निर्देश इस्तेमाल करें:

  • ऑटोकंप्लीट की सुविधा वाले सभी कॉल के लिए, सेशन टोकन का इस्तेमाल करें.
  • हर सेशन के लिए नया टोकन जनरेट करें. यूयूआईडी वर्शन 4 का इस्तेमाल करने का सुझाव दिया जाता है.
  • पक्का करें कि किसी सेशन में, सभी जगहों के लिए ऑटोकंप्लीट की सुविधा, जगह की जानकारी, और पते की पुष्टि के अनुरोधों के लिए इस्तेमाल किए गए क्रेडेंशियल, एक ही Cloud Console प्रोजेक्ट से जुड़े हों.
  • हर नए सेशन के लिए, एक यूनीक सेशन टोकन पास करना न भूलें. एक से ज़्यादा सेशन के लिए एक ही टोकन का इस्तेमाल करने पर, हर अनुरोध का अलग-अलग बिल भेजा जाएगा.

जवाब का मुख्य भाग

places.autocomplete के लिए रिस्पॉन्स प्रोटो.

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

जेएसओएन के काेड में दिखाना
{
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
फ़ील्ड
suggestions[]

object (Suggestion)

इसमें सुझावों की सूची होती है. इस सूची को, काम के घटते क्रम में लगाया जाता है.

LocationBias

खोजी जाने वाली जगह. बताए गए क्षेत्र के लिए परिणाम पक्षपातपूर्ण हो सकते हैं.

जेएसओएन के काेड में दिखाना
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
फ़ील्ड

यूनियन फ़ील्ड type.

type इनमें से सिर्फ़ एक हो सकता है:

rectangle

object (Viewport)

उत्तर-पूर्व और दक्षिण-पश्चिम कोने के हिसाब से तय किया गया व्यूपोर्ट.

circle

object (Circle)

केंद्र बिंदु और त्रिज्या से तय किया गया वृत्त.

LocationRestriction

खोजी जाने वाली जगह. नतीजे, बताए गए क्षेत्र के लिए ही सीमित होंगे.

जेएसओएन के काेड में दिखाना
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
फ़ील्ड

यूनियन फ़ील्ड type.

type इनमें से सिर्फ़ एक हो सकता है:

rectangle

object (Viewport)

उत्तर-पूर्व और दक्षिण-पश्चिम कोने के हिसाब से तय किया गया व्यूपोर्ट.

circle

object (Circle)

केंद्र बिंदु और त्रिज्या से तय किया गया वृत्त.

सुझाव

अपने-आप पूरा होने वाले सुझाव का नतीजा.

जेएसओएन के काेड में दिखाना
{

  // Union field kind can be only one of the following:
  "placePrediction": {
    object (PlacePrediction)
  },
  "queryPrediction": {
    object (QueryPrediction)
  }
  // End of list of possible types for union field kind.
}
फ़ील्ड

यूनियन फ़ील्ड kind.

kind इनमें से सिर्फ़ एक हो सकता है:

placePrediction

object (PlacePrediction)

किसी जगह के लिए सुझाव.

queryPrediction

object (QueryPrediction)

किसी क्वेरी के लिए सुझाव.

PlacePrediction

किसी स्थान के लिए ऑटोकंप्लीट सुविधा की मदद से मिलने वाले सुझाव के लिए अनुमान.

जेएसओएन के काेड में दिखाना
{
  "place": string,
  "placeId": string,
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  },
  "types": [
    string
  ],
  "distanceMeters": integer
}
फ़ील्ड
place

string

सुझाई गई जगह का संसाधन नाम. इस नाम का इस्तेमाल, उन एपीआई में किया जा सकता है जो जगहों के नाम स्वीकार करते हैं.

placeId

string

सुझाई गई जगह का यूनीक आइडेंटिफ़ायर. इस आइडेंटिफ़ायर का इस्तेमाल, जगह के आईडी स्वीकार करने वाले अन्य एपीआई में किया जा सकता है.

text

object (FormattableText)

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

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

यह टेक्स्ट places.get से मिले displayName से अलग हो सकता है.

अगर अनुरोध input और languageCode अलग-अलग भाषाओं में हैं या जगह का स्थानीय भाषा से languageCode में अनुवाद नहीं किया गया है, तो अनुरोध मिश्रित भाषाओं में हो सकता है.

structuredFormat

object (StructuredFormat)

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

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

types[]

string

https://developers.google.com/maps/documentation/places/web-service/place-types में टेबल A या टेबल B से इस जगह पर लागू होने वाले टाइप की सूची.

टाइप, किसी जगह की कैटगरी है. शेयर किए गए टाइप वाली जगहों की विशेषताएं एक जैसी होंगी.

distanceMeters

integer

अगर origin बताया गया है, तो origin से मीटर में जियोडेसिक लंबाई. कुछ अनुमान, जैसे कि रूट, इस फ़ील्ड में शायद अपने-आप न भरे.

FormattableText

जगह या क्वेरी के अनुमान को दिखाने वाला टेक्स्ट. टेक्स्ट को ऐसे ही इस्तेमाल किया जा सकता है या फ़ॉर्मैट किया गया है.

जेएसओएन के काेड में दिखाना
{
  "text": string,
  "matches": [
    {
      object (StringRange)
    }
  ]
}
फ़ील्ड
text

string

वह टेक्स्ट जिसे matches के साथ फ़ॉर्मैट किया गया है या इस तरह इस्तेमाल किया जा सकता है.

matches[]

object (StringRange)

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

ये वैल्यू text के यूनिकोड वर्ण ऑफ़सेट हैं. रेंज को बढ़ते हुए ऑफ़सेट वैल्यू में क्रम में लगाने की गारंटी है.

StringRange

दिए गए टेक्स्ट में सबस्ट्रिंग की पहचान करता है.

जेएसओएन के काेड में दिखाना
{
  "startOffset": integer,
  "endOffset": integer
}
फ़ील्ड
startOffset

integer

स्ट्रिंग के पहले यूनिकोड वर्ण का शून्य-आधारित ऑफ़सेट (शामिल है).

endOffset

integer

आखिरी यूनिकोड वर्ण का शून्य-आधारित ऑफ़सेट (खास तौर पर).

StructuredFormat

इसमें, जगह या क्वेरी के लिए किए गए सुझाव को मुख्य टेक्स्ट और सेकंडरी टेक्स्ट में बांटा गया है.

जगह के अनुमान के लिए, मुख्य टेक्स्ट में जगह का खास नाम होता है. क्वेरी के सुझावों के लिए, मुख्य टेक्स्ट में क्वेरी मौजूद होती है.

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

जेएसओएन के काेड में दिखाना
{
  "mainText": {
    object (FormattableText)
  },
  "secondaryText": {
    object (FormattableText)
  }
}
फ़ील्ड
mainText

object (FormattableText)

इससे जगह या क्वेरी का नाम पता चलता है.

secondaryText

object (FormattableText)

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

QueryPrediction

क्वेरी के अपने-आप पूरे होने की सुविधा के लिए अनुमान के नतीजे.

जेएसओएन के काेड में दिखाना
{
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  }
}
फ़ील्ड
text

object (FormattableText)

अनुमानित टेक्स्ट. यह टेक्स्ट किसी जगह के बारे में नहीं बताता. यह एक ऐसी टेक्स्ट क्वेरी है जिसे सर्च एंडपॉइंट में इस्तेमाल किया जा सकता है (उदाहरण के लिए, टेक्स्ट सर्च).

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

अगर अनुरोध input और languageCode अलग-अलग भाषाओं में हैं या क्वेरी के किसी हिस्से का स्थानीय भाषा से languageCode में अनुवाद नहीं किया गया है, तो अनुरोध मिक्स भाषाओं में हो सकता है.

structuredFormat

object (StructuredFormat)

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

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