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

प्लैटफ़ॉर्म चुनें: Android iOS JavaScript वेब सेवा

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

उदाहरण के लिए, आपने मोबाइल फ़ोन में ऐसी स्ट्रिंग जिसमें खोज क्षेत्र के साथ आंशिक उपयोगकर्ता इनपुट, "सिसिलियन पिज़" शामिल है यह सिर्फ़ सैन फ़्रांसिस्को, कैलिफ़ोर्निया तक सीमित है. इसके बाद, जवाब में जगह की सूची शामिल होती है खोज स्ट्रिंग और खोज क्षेत्र से मेल खाने वाले पूर्वानुमान, जैसे कि रेस्टोरेंट इसका नाम "सिसिलियन पिज़्ज़ा किचन" है.

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

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

आपके ऐप्लिकेशन को जगहों के अनुमानित नामों की सूची मिल सकती है और/या कॉल करके ऑटोकंप्लीट एपीआई से ईमेल पते खोजें PlacesClient.findAutocompletePredictions() पास FindAutocompletePredictionsRequest ऑब्जेक्ट है. नीचे दिए गए उदाहरण में बताया गया है कि PlacesClient.findAutocompletePredictions().

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();
LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);
final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Sicilian piz")
            .setRegionCode("ES")
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

ऑटोकंप्लीट की सुविधा (नए) जवाब

एपीआई, FindAutocompletePredictionsResponse में Task. कॉन्टेंट बनाने FindAutocompletePredictionsResponse पांच नामों की सूची होती है AutocompletePrediction ऑब्जेक्ट, जो अनुमानित जगहों को दिखा रहे हैं. अगर कोई न हो, तो सूची खाली हो सकती है क्वेरी और फ़िल्टर मानदंड के हिसाब से जगह की जानकारी.

प्रत्येक अनुमानित स्थान के लिए, आप स्थान को पुनर्प्राप्त करने के लिए निम्न तरीकों को कॉल कर सकते हैं विवरण:

  • getFullText(CharacterStyle) किसी जगह की जानकारी का पूरा टेक्स्ट दिखाता है. यह कई तरीकों से मुख्य और दूसरा टेक्स्ट. उदाहरण: "कुतुब मीनार, एवेन्यू एनेटोले फ़्रांस, पेरिस, फ़्रांस". इसके अलावा, इस तरीके की मदद से, आपको ऐसा ब्यौरा डालें जो खोज के नतीजों में आपकी पसंद की स्टाइल से मेल खाता हो. CharacterStyle. CharacterStyle पैरामीटर ज़रूरी नहीं है. अगर आपको इसकी ज़रूरत नहीं है, तो इसे शून्य पर सेट करें किसी भी हाइलाइट को शामिल कर सकते हैं.
  • getPrimaryText(CharacterStyle) किसी जगह के बारे में बताने वाला मुख्य टेक्स्ट दिखाता है. आम तौर पर यह जगह. उदाहरण: "कुतुब मीनार" और "123 Pitt Street".
  • getSecondaryText(CharacterStyle) यह फ़ंक्शन किसी जगह के ब्यौरे का मुख्य टेक्स्ट दिखाता है. यह इन लोगों के लिए काम का है उदाहरण के लिए, ऑटोकंप्लीट सुविधा की मदद से मिलने वाले सुझावों को दूसरी लाइन में दिखाने के लिए. उदाहरणः "एवेन्यू ऐनाटोले फ़्रांस, पेरिस, फ़्रांस" और "सिडनी, न्यू साउथ वेल्स".
  • getPlaceId() यह अनुमानित जगह का जगह का आईडी दिखाता है. जगह का आईडी एक टेक्स्ट होता है ऐसा आइडेंटिफ़ायर जो किसी जगह की खास पहचान करता है. इसका इस्तेमाल करके, जानकारी पाई जा सकती है यह Place फिर से ऑब्जेक्ट सबमिट करें. जगह के आईडी के बारे में ज़्यादा जानकारी के लिए, ऑटोकंप्लीट, जगह की जानकारी देखें (नया). सामान्य जगह की जानकारी के बारे में जानकारी पाने के लिए, जगह का आईडी देखें खास जानकारी पर टैप करें.
  • getTypes() इस जगह से जुड़ी अलग-अलग तरह की जगहों की सूची दिखाता है.
  • getDistanceMeters() इस जगह और अनुरोध में ऑरिजिन के बारे में बताया गया है.

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

  • क्वेरी

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

    क्वेरी पैरामीटर सेट करने के लिए, setQuery() को कॉल करें FindAutocompletePredictionsRequest ऑब्जेक्ट बनाते समय दिया गया तरीका.

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

  • मुख्य टाइप

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

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

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

    • पाँच से ज़्यादा प्रकार बताए गए हैं.
    • कोई भी अज्ञात प्रकार दर्ज किया गया है.

    प्राथमिक प्रकार का पैरामीटर सेट करने के लिए setTypesFilter() को कॉल करें FindAutocompletePredictionsRequest ऑब्जेक्ट बनाते समय दिया गया तरीका.

  • देश

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

    अगर locationRestriction और includedRegionCodes, दोनों की जानकारी दी जाती है, तो परिणाम दो सेटिंग के प्रतिच्छेदन क्षेत्र में स्थित होते हैं.

    देशों का पैरामीटर सेट करने के लिए, setCountries() को कॉल करें FindAutocompletePredictionsRequest ऑब्जेक्ट बनाते समय दिया गया तरीका.

  • इनपुट ऑफ़सेट

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

    इनपुट ऑफ़सेट पैरामीटर सेट करने के लिए, setInputOffset() को कॉल करें FindAutocompletePredictionsRequest ऑब्जेक्ट बनाते समय दिया गया तरीका.

  • जगह का पूर्वाग्रह या जगह की जानकारी से जुड़ी पाबंदी

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

    • जगह का मापदंड

      इस नीति से, खोजे जाने वाले किसी इलाके के बारे में पता चलता है. इस जगह की जानकारी पूर्वाग्रह मानी जाती है, न कि कोई पाबंदी. इसलिए, नतीजे बताए गए क्षेत्र के बाहर लौटाए जा सकते हैं.

      जगह के पूर्वाग्रह का पैरामीटर सेट करने के लिए, setLocationBias() को कॉल करें FindAutocompletePredictionsRequest ऑब्जेक्ट बनाते समय दिया गया तरीका.

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

      इस नीति से, खोजे जाने वाले किसी इलाके के बारे में पता चलता है. चुने गए इलाके से बाहर के नतीजे नहीं दिखाए जा सकते वापस किया गया.

      जगह की जानकारी की पाबंदी वाला पैरामीटर सेट करने के लिए, setLocationRestriction() को कॉल करें FindAutocompletePredictionsRequest ऑब्जेक्ट बनाते समय दिया गया तरीका.

    स्थान पूर्वाग्रह या स्थान प्रतिबंध वाले क्षेत्र को इस रूप में निर्दिष्ट करें: आयताकार व्यूपोर्ट या सर्कल के तौर पर.

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

    • रेक्टैंगल, अक्षांश-देशांतर का व्यूपोर्ट होता है. इसे दो फ़ॉर्मैट में दिखाया जाता है low और high बिंदुओं के सामने तिरछा है. व्यूपोर्ट को बंद क्षेत्र है, जिसका मतलब है इसकी सीमा शामिल है. अक्षांश की सीमाएं यह -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, दोनों में अपने-आप जानकारी भरी जानी चाहिए. साथ ही, दिखाया गया बॉक्स दिखना चाहिए खाली नहीं हो सकता. व्यूपोर्ट का खाली होने पर गड़बड़ी होती है.

  • शुरुआत की जगह

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

    ऑरिजिन पैरामीटर सेट करने के लिए, setOrigin() को कॉल करें FindAutocompletePredictionsRequest ऑब्जेक्ट बनाते समय दिया गया तरीका.

  • क्षेत्र कोड

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

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

    क्षेत्र का कोड पैरामीटर सेट करने के लिए, setRegionCode() को कॉल करें FindAutocompletePredictionsRequest ऑब्जेक्ट बनाते समय दिया गया तरीका.

  • सेशन टोकन

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

    ऑटोकंप्लीट की सुविधा में, AutocompleteSessionToken का इस्तेमाल करें. आपके ऐप्लिकेशन को नया सेशन टोकन पास करना चाहिए फिर हर नया सेशन शुरू करें. इसके बाद, उसी टोकन को एक प्लेस आईडी के साथ पास करें fetchPlace() को किया गया अगला कॉल उपयोगकर्ता द्वारा चुने गए स्थान के लिए स्थान विवरण पुनर्प्राप्त करने के लिए.

    सेशन टोकन पैरामीटर सेट करने के लिए, setSessionToken() को कॉल करें FindAutocompletePredictionsRequest ऑब्जेक्ट बनाते समय दिया गया तरीका.

    ज़्यादा जानकारी के लिए, यह देखें सेशन टोकन.

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

जगह की जानकारी पर पाबंदी और जगह के मापदंड का इस्तेमाल करें

ऑटोकंप्लीट (नया) डिफ़ॉल्ट रूप से, आईपी बायसिंग का इस्तेमाल खोज वाली जगह को कंट्रोल कर सकती हैं. आईपी बायसिंग के साथ, एपीआई किसी एक डिवाइस का इस्तेमाल कर रहे हैं. विकल्प के तौर पर जगह की जानकारी का इस्तेमाल किया जा सकता है प्रतिबंध या स्थान पक्षपात, लेकिन नहीं दोनों का इस्तेमाल करें.

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

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

स्थान पूर्वाग्रह के साथ, स्थान पूर्वाग्रह के रूप में कार्य करता है, जिसका अर्थ है कि के आस-पास के परिणाम बताए गए स्थान को लौटाया जा सकता है, जिसमें बताए गए से बाहर के परिणाम शामिल हैं क्षेत्र. अगले उदाहरण में, जगह की जानकारी के पूर्वाग्रह इस्तेमाल करने के पिछले अनुरोध को बदला गया है:

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setLocationBias(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

प्राथमिक प्रकारों का उपयोग करें

किसी किसी विशेष प्रकार का होने के लिए अनुरोध करना जैसा कि टेबल में सूचीबद्ध है A और टेबल ब. यह तय किया जा सकता है कि पांच वैल्यू तक का कलेक्शन. अगर इसे छोड़ दिया जाता है, तो सभी तरह के नतीजे दिखते हैं.

नीचे दिया गया उदाहरण "सॉकर" की क्वेरी स्ट्रिंग के बारे में बताता है और मुख्य फ़ंक्शन का इस्तेमाल करता है टाइप: संस्थान से जुड़े नतीजों पर पाबंदी लगाने के लिए पैरामीटर "sporting_goods_store":

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

final List<Place.Field> primaryTypes = Arrays.asList("sporting_goods_store");

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Soccer")
            .setIncludedPrimaryTypes(primaryTypes)
            .setLocationBias(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

अगर आपने प्राइमरी टाइप पैरामीटर को छोड़ दिया है, तो नतीजों में होटल शामिल हो सकते हैं किसी ऐसे टाइप का हो जिसे शायद आप न चाहें, जैसे कि "athletic_field".

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

जब अनुरोध में origin पैरामीटर शामिल किया जाता है, तो इसे इस रूप में बताया जाता है: अक्षांश और देशांतर निर्देशांक, एपीआई में सीधी लाइन की दूरी शामिल होती है रिस्पॉन्स में ऑरिजिन से डेस्टिनेशन तक (इसका इस्तेमाल करके ऐक्सेस किया गया getDistanceMeters()). यह उदाहरण मूल को सैन फ़्रांसिस्को के केंद्र पर सेट करता है:

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setOrigin(center)
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

एट्रिब्यूशन

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