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 से शामिल की गई मुख्य जगह का टाइप (उदाहरण के लिए, "रेस्टोरेंट" या "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_LABEL गड़बड़ी मिलती है.

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