किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी)

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

Place Autocomplete (लेगसी), उपयोगकर्ता की खोज क्वेरी के जवाब में जगह के सुझाव दिखाता है. जब उपयोगकर्ता टाइप करता है, तो अपने-आप पूरा होने वाली सेवा, जगहों के सुझाव देती है. जैसे, कारोबार, पते, प्लस कोड, और लोकप्रिय जगहें.

अपने ऐप्लिकेशन में अपने-आप पूरा होने की सुविधा को इन तरीकों से जोड़ा जा सकता है:

ऑटोकंप्लीट विजेट जोड़ना

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

अपने ऐप्लिकेशन में अपने-आप पूरा होने वाले विजेट को जोड़ने के लिए, आपके पास दो विकल्प हैं:

पहला विकल्प: AutocompleteSupportFragment को एम्बेड करना

अपने ऐप्लिकेशन में AutocompleteSupportFragment जोड़ने के लिए, यह तरीका अपनाएं:

  1. अपनी ऐक्टिविटी के एक्सएमएल लेआउट में कोई फ़्रैगमेंट जोड़ें.
  2. अपनी गतिविधि या फ़्रैगमेंट में कोई लिसनर जोड़ें.

किसी गतिविधि में AutocompleteSupportFragment जोड़ना

किसी गतिविधि में AutocompleteSupportFragment जोड़ने के लिए, एक्सएमएल लेआउट में एक नया फ़्रैगमेंट जोड़ें. उदाहरण के लिए:

<fragment android:id="@+id/autocomplete_fragment"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:name="com.google.android.libraries.places.widget.AutocompleteSupportFragment"
  />
  • डिफ़ॉल्ट रूप से, फ़्रैगमेंट में कोई बॉर्डर या बैकग्राउंड नहीं होता. विज़ुअल को एक जैसा दिखाने के लिए, फ़्रैगमेंट को किसी दूसरे लेआउट एलिमेंट में नेस्ट करें. जैसे, CardView.
  • अगर ऑटोकंप्लीट फ़्रैगमेंट का इस्तेमाल किया जा रहा है और आपको onActivityResult को बदलना है, तो आपको super.onActivityResult को कॉल करना होगा. ऐसा न करने पर, फ़्रैगमेंट ठीक से काम नहीं करेगा.

किसी गतिविधि में PlaceSelectionListener जोड़ना

PlaceSelectionListener, उपयोगकर्ता के चुने गए विकल्प के हिसाब से जगह की जानकारी दिखाता है. नीचे दिए गए कोड में, फ़्रैगमेंट का रेफ़रंस बनाने और अपने AutocompleteSupportFragment में लिसनर जोड़ने का तरीका दिखाया गया है:

Kotlin

    // Initialize the AutocompleteSupportFragment.
    val autocompleteFragment =
        supportFragmentManager.findFragmentById(R.id.autocomplete_fragment)
                as AutocompleteSupportFragment

    // Specify the types of place data to return.
    autocompleteFragment.setPlaceFields(listOf(Place.Field.ID, Place.Field.DISPLAY_NAME))

    // Set up a PlaceSelectionListener to handle the response.
    autocompleteFragment.setOnPlaceSelectedListener(object : PlaceSelectionListener {
        override fun onPlaceSelected(place: Place) {
            binding.autocompleteResult.text = getString(
                R.string.place_selection,
                place.displayName,
                place.id,
                place.formattedAddress
            )
            Log.i(TAG, "Place: ${place.displayName}, ${place.id}")
        }

        override fun onError(status: Status) {
            binding.autocompleteResult.text = getString(R.string.an_error_occurred, status)
            Log.i(TAG, "An error occurred: $status")
        }
    })

      

Java

    // Initialize the AutocompleteSupportFragment.
    AutocompleteSupportFragment autocompleteFragment = (AutocompleteSupportFragment)
            getSupportFragmentManager().findFragmentById(R.id.autocomplete_fragment);

    // Specify the types of place data to return.
    assert autocompleteFragment != null;
    autocompleteFragment.setPlaceFields(Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME, Place.Field.FORMATTED_ADDRESS));

    // Set up a PlaceSelectionListener to handle the response.
    autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
        @Override
        public void onPlaceSelected(@NonNull Place place) {
            binding.autocompleteResult.setText(
                    getString(
                            R.string.place_selection,
                            place.getDisplayName(),
                            place.getId(),
                            place.getFormattedAddress()
                    )
            );
            Log.i(TAG, "Place: " + place.getDisplayName() + ", " + place.getId());
        }


        @Override
        public void onError(@NonNull Status status) {
            binding.autocompleteResult.setText(getString(R.string.an_error_occurred, status));
            Log.e(TAG, "An error occurred: " + status);
        }
    });

      

दूसरा विकल्प: ऑटोकंप्लीट गतिविधि लॉन्च करने के लिए इंटेंट का इस्तेमाल करना

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

किसी इंटेंट का इस्तेमाल करके, अपने-आप पूरा होने वाले विजेट को लॉन्च करने के लिए, यह तरीका अपनाएं:

  1. Autocomplete.IntentBuilder का इस्तेमाल करके, इंटेंट बनाएं. इसके लिए, Autocomplete मोड पास करें.
  2. गतिविधि के नतीजे को लॉन्च करने वाला एक लॉन्चर तय करें registerForActivityResult इसका इस्तेमाल इंटेंट को लॉन्च करने और नतीजे में उपयोगकर्ता की चुनी गई जगह की अनुमानित जानकारी को हैंडल करने के लिए किया जा सकता है.

अपने-आप पूरा होने वाला इंटेंट बनाना

यहां दिए गए उदाहरण में, इंटेंट के तौर पर अपने-आप पूरा होने वाले विजेट को लॉन्च करने के लिए, Autocomplete.IntentBuilder का इस्तेमाल किया गया है:

Kotlin

    // Set the fields to specify which types of place data to
    // return after the user has made a selection.
    val fields = listOf(Place.Field.ID, Place.Field.DISPLAY_NAME, Place.Field.FORMATTED_ADDRESS)

    val intent = Autocomplete.IntentBuilder(AutocompleteActivityMode.FULLSCREEN, fields)
        .setTypesFilter(listOf(PlaceTypes.ESTABLISHMENT))
        .build(this)

    startAutocomplete.launch(intent)

      

Java

    // Set the fields to specify which types of place data to
    // return after the user has made a selection.
    List<Place.Field> fields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME, Place.Field.FORMATTED_ADDRESS);

    // Start the autocomplete intent.
    Intent intent = new Autocomplete.IntentBuilder(AutocompleteActivityMode.FULLSCREEN, fields)
            .setTypesFilter(List.of(PlaceTypes.ESTABLISHMENT))
            .build(this);
    startAutocomplete.launch(intent);

      

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

ओवरले मोड में दिखने पर, अपने-आप पूरा होने वाला विजेट, कॉलिंग यूज़र इंटरफ़ेस (यूआई) के ऊपर दिखता है.
पहली इमेज: OVERLAY मोड में अपने-आप पूरा होने वाला विजेट
फ़ुलस्क्रीन मोड में दिखने पर, अपने-आप पूरा होने वाला विजेट पूरी स्क्रीन पर दिखता है.
दूसरी इमेज: फ़ुलस्क्रीन मोड में अपने-आप पूरा होने वाला विजेट

इंटेंट के नतीजे के लिए कॉलबैक रजिस्टर करना

जब उपयोगकर्ता कोई जगह चुन ले, तब सूचना पाने के लिए, registerForActivityResult() लॉन्चर तय करें. यह लॉन्चर, गतिविधि को लॉन्च करता है. साथ ही, नतीजे को भी मैनेज करता है. इसे यहां दिए गए उदाहरण में दिखाया गया है. अगर उपयोगकर्ता ने कोई अनुमान चुना है, तो उसे नतीजे वाले ऑब्जेक्ट में मौजूद इंटेंट में डिलीवर किया जाएगा. Autocomplete.IntentBuilder ने इंटेंट बनाया है. इसलिए, Autocomplete.getPlaceFromIntent() वाला तरीका, इससे Place ऑब्जेक्ट को निकाल सकता है.

Kotlin

private val startAutocomplete =
    registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result: ActivityResult ->
        if (result.resultCode == RESULT_OK) {
            val intent = result.data
            if (intent != null) {
                val place = Autocomplete.getPlaceFromIntent(intent)
                binding.autocompleteResult.text = getString(
                    R.string.place_selection,
                    place.displayName,
                    place.id,
                    place.formattedAddress)
                Log.i(
                    TAG, "Place: ${place.displayName}, ${place.id}"
                )
            }
        } else if (result.resultCode == RESULT_CANCELED) {
            // The user canceled the operation.
            binding.autocompleteResult.setText(R.string.user_canceled_autocomplete)
            Log.i(TAG, "User canceled autocomplete")
        }
    }

      

Java

private final ActivityResultLauncher<Intent> startAutocomplete = registerForActivityResult(
        new ActivityResultContracts.StartActivityForResult(),
        result -> {
            if (result.getResultCode() == Activity.RESULT_OK) {
                Intent intent = result.getData();
                if (intent != null) {
                    Place place = Autocomplete.getPlaceFromIntent(intent);
                    binding.autocompleteResult.setText(
                            getString(
                                    R.string.place_selection,
                                    place.getDisplayName(),
                                    place.getId(),
                                    place.getFormattedAddress()
                            )
                    );
                    Log.i(TAG, "Place: " + place.getDisplayName() + ", " + place.getId());
                }
            } else if (result.getResultCode() == Activity.RESULT_CANCELED) {
                // The user canceled the operation.
                binding.autocompleteResult.setText(R.string.user_canceled_autocomplete);
                Log.i(TAG, "User canceled autocomplete");
            }
        });

      

प्रोग्राम के हिसाब से जगह के बारे में अनुमानित जानकारी पाना

ऑटोकंप्लीट विजेट से मिले यूज़र इंटरफ़ेस (यूआई) के विकल्प के तौर पर, कस्टम सर्च यूज़र इंटरफ़ेस (यूआई) बनाया जा सकता है. इसके लिए, आपके ऐप्लिकेशन को प्रोग्राम के हिसाब से जगह की जानकारी का अनुमान लगाना होगा. आपका ऐप्लिकेशन, ऑटोकंप्लीट एपीआई को कॉल करके, जगह के अनुमानित नामों और/या पतों की सूची पा सकता है. इसके लिए, उसे PlacesClient.findAutocompletePredictions() को कॉल करना होगा और FindAutocompletePredictionsRequest ऑब्जेक्ट को इन पैरामीटर के साथ पास करना होगा:

  • ज़रूरी है: query स्ट्रिंग में, उपयोगकर्ता की ओर से टाइप किया गया टेक्स्ट शामिल होना चाहिए.
  • सुझाया गया: A AutocompleteSessionToken, जो बिलिंग के लिए, उपयोगकर्ता की खोज के क्वेरी और चुनने के चरणों को अलग-अलग सेशन में ग्रुप करता है. सेशन तब शुरू होता है, जब उपयोगकर्ता कोई क्वेरी टाइप करना शुरू करता है. यह तब खत्म होता है, जब वह कोई जगह चुनता है.
  • सुझाया गया: यह एक RectangularBounds ऑब्जेक्ट है. इसमें अक्षांश और देशांतर की सीमाएं तय की जाती हैं, ताकि नतीजों को तय किए गए इलाके तक सीमित किया जा सके.
  • ज़रूरी नहीं: दो अक्षरों वाले एक या उससे ज़्यादा देश के कोड (आईएसओ 3166-1 ऐल्फ़ा-2). इनसे पता चलता है कि नतीजे किस देश या देशों के लिए सीमित होने चाहिए.
  • ज़रूरी नहीं: TypeFilter, जिसका इस्तेमाल करके नतीजों को किसी खास जगह के टाइप तक सीमित किया जा सकता है. इन जगहों के टाइप के लिए, यह सुविधा उपलब्ध है:

    • TypeFilter.GEOCODE – इससे सिर्फ़ जियोकोडिंग के नतीजे मिलते हैं, कारोबारों के नहीं. इस अनुरोध का इस्तेमाल उन नतीजों को अलग-अलग करने के लिए करें जिनमें बताई गई जगह के बारे में साफ़ तौर पर जानकारी नहीं दी गई है.
    • TypeFilter.ADDRESS – इससे सिर्फ़ ऑटोकंप्लीट वाले नतीजे मिलते हैं, जिनमें सटीक पता होता है. इस टाइप का इस्तेमाल तब करें, जब आपको पता हो कि उपयोगकर्ता पूरा पता ढूंढ रहा है.
    • TypeFilter.ESTABLISHMENT – इससे सिर्फ़ कारोबारों की जानकारी मिलती है.
    • TypeFilter.REGIONS – इससे सिर्फ़ ऐसी जगहों की जानकारी मिलती है जो इनमें से किसी एक टाइप से मेल खाती हैं:

    • LOCALITY

    • SUBLOCALITY

    • POSTAL_CODE

    • COUNTRY

    • ADMINISTRATIVE_AREA_LEVEL_1

    • ADMINISTRATIVE_AREA_LEVEL_2

    • TypeFilter.CITIES – सिर्फ़ LOCALITY या ADMINISTRATIVE_AREA_LEVEL_3 से मिलते-जुलते नतीजे दिखाता है.

  • ज़रूरी नहीं: LatLng, अनुरोध की जगह की जानकारी देता है. setOrigin() को कॉल करने पर, सेवा जवाब में हर ऑटोकंप्लीट सुझाव के लिए, तय की गई जगह से दूरी (distanceMeters) मीटर में दिखाती है.

जगह के टाइप के बारे में जानकारी पाने के लिए, जगह के टाइप की गाइड देखें.

यहां दिए गए उदाहरण में, PlacesClient.findAutocompletePredictions() को किए गए पूरे कॉल को दिखाया गया है.

Kotlin

    // Create a new token for the autocomplete session. Pass this to FindAutocompletePredictionsRequest,
    // and once again when the user makes a selection (for example when calling fetchPlace()).
    val token = AutocompleteSessionToken.newInstance()

    // Create a RectangularBounds object.
    val bounds = RectangularBounds.newInstance(
        LatLng(-33.880490, 151.184363),
        LatLng(-33.858754, 151.229596)
    )
    // Use the builder to create a FindAutocompletePredictionsRequest.
    val request =
        FindAutocompletePredictionsRequest.builder()
            // Call either setLocationBias() OR setLocationRestriction().
            .setLocationBias(bounds)
            //.setLocationRestriction(bounds)
            .setOrigin(LatLng(-33.8749937, 151.2041382))
            .setCountries("AU", "NZ")
            .setTypesFilter(listOf(PlaceTypes.ESTABLISHMENT))
            .setSessionToken(token)
            .setQuery(query)
            .build()
    placesClient.findAutocompletePredictions(request)
        .addOnSuccessListener { response: FindAutocompletePredictionsResponse ->
            val builder = StringBuilder()
            for (prediction in response.autocompletePredictions) {
                builder.append(prediction.getPrimaryText(null).toString()).append("\n")
                Log.i(TAG, prediction.placeId)
                Log.i(TAG, prediction.getPrimaryText(null).toString())
            }
            binding.autocompleteResult.text = builder.toString()
        }.addOnFailureListener { exception: Exception? ->
            if (exception is ApiException) {
                Log.e(TAG, "Place not found: ${exception.statusCode}")
                binding.autocompleteResult.text = getString(R.string.place_not_found, exception.message)
            }
        }

      

Java

    // Create a new token for the autocomplete session. Pass this to FindAutocompletePredictionsRequest,
    // and once again when the user makes a selection (for example when calling fetchPlace()).
    AutocompleteSessionToken token = AutocompleteSessionToken.newInstance();

    // Create a RectangularBounds object.
    RectangularBounds bounds = RectangularBounds.newInstance(
            new LatLng(-33.880490, 151.184363),
            new LatLng(-33.858754, 151.229596));
    // Use the builder to create a FindAutocompletePredictionsRequest.
    FindAutocompletePredictionsRequest request = FindAutocompletePredictionsRequest.builder()
            // Call either setLocationBias() OR setLocationRestriction().
            .setLocationBias(bounds)
            //.setLocationRestriction(bounds)
            .setOrigin(new LatLng(-33.8749937, 151.2041382))
            .setCountries("AU", "NZ")
            .setTypesFilter(List.of(PlaceTypes.ESTABLISHMENT))
            .setSessionToken(token)
            .setQuery(query)
            .build();

    placesClient.findAutocompletePredictions(request).addOnSuccessListener((response) -> {
        StringBuilder builder = new StringBuilder();
        for (AutocompletePrediction prediction : response.getAutocompletePredictions()) {
            builder.append(prediction.getPrimaryText(null).toString()).append("\n");
            Log.i(TAG, prediction.getPlaceId());
            Log.i(TAG, prediction.getPrimaryText(null).toString());
        }
        binding.autocompleteResult.setText(builder.toString());
    }).addOnFailureListener((exception) -> {
        if (exception instanceof ApiException apiException) {
            Log.e(TAG, "Place not found: " + apiException.getStatusCode());
            binding.autocompleteResult.setText(getString(R.string.place_not_found, apiException.getMessage()));
        }
    });

      

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

अनुमानित हर जगह के लिए, जगह की जानकारी पाने के लिए यहां दिए गए तरीकों का इस्तेमाल किया जा सकता है:

  • getFullText(CharacterStyle) किसी जगह की जानकारी का पूरा टेक्स्ट दिखाता है. यह प्राइमरी और सेकंडरी टेक्स्ट का कॉम्बिनेशन है. उदाहरण: "Eiffel Tower, Avenue Anatole France, Paris, France". इसके अलावा, इस तरीके से आपको अपनी पसंद की स्टाइल में, ब्यौरे के उन सेक्शन को हाइलाइट करने की सुविधा मिलती है जो खोज से मेल खाते हैं. इसके लिए, CharacterStyle का इस्तेमाल करें. CharacterStyle पैरामीटर ज़रूरी नहीं है. अगर आपको किसी भी तरह की हाइलाइटिंग की ज़रूरत नहीं है, तो इसे null पर सेट करें.
  • getPrimaryText(CharacterStyle) किसी जगह के बारे में बताने वाला मुख्य टेक्स्ट दिखाता है. यह आम तौर पर जगह का नाम होता है. उदाहरण: "कुतुब मीनार" और "123 पिट स्ट्रीट".
  • getSecondaryText(CharacterStyle) किसी जगह की जानकारी के टेक्स्ट का हिस्सा दिखाता है. यह जानकारी तब काम आती है, जब ऑटोकंप्लीट के सुझावों को दूसरी लाइन के तौर पर दिखाया जाता है. उदाहरण: "Avenue Anatole France, Paris, France" और "Sydney, New South Wales".
  • getPlaceId() अनुमानित जगह का आईडी दिखाता है. प्लेस आईडी, टेक्स्ट वाला एक आइडेंटिफ़ायर होता है. यह किसी जगह की पहचान करता है. इसका इस्तेमाल करके, बाद में Place ऑब्जेक्ट को फिर से पाया जा सकता है. Places SDK for Android में जगह के आईडी के बारे में ज़्यादा जानने के लिए, जगह की जानकारी देखें. जगह के आईडी के बारे में सामान्य जानकारी के लिए, जगह के आईडी की खास जानकारी देखें.
  • getPlaceTypes() इस जगह से जुड़े टाइप की सूची दिखाता है.
  • getDistanceMeters() इस जगह और अनुरोध में बताए गए मूल स्थान के बीच की सीधी दूरी को मीटर में दिखाता है.

सेशन टोकन

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

Places SDK for Android, हर सेशन की पहचान करने के लिए AutocompleteSessionToken का इस्तेमाल करता है. आपका ऐप्लिकेशन, हर नए सेशन की शुरुआत में एक नया सेशन टोकन पास करे. इसके बाद, fetchPlace() को किए गए अगले कॉल में, उसी टोकन के साथ-साथ प्लेस आईडी भी पास करे. इससे, उपयोगकर्ता की चुनी गई जगह की जानकारी वापस मिल सकेगी.

सेशन टोकन के बारे में ज़्यादा जानें.

ऑटोकंप्लीट की मदद से दिखने वाले नतीजों को सीमित करना

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

नतीजों को सीमित करने के लिए, यह तरीका अपनाएं:

  • तय किए गए इलाके के नतीजों को प्राथमिकता देने के लिए, setLocationBias() फ़ंक्शन का इस्तेमाल करें. हालांकि, ऐसा हो सकता है कि तय किए गए इलाके के बाहर के कुछ नतीजे भी दिखाए जाएं.
  • तय किए गए क्षेत्र में सिर्फ़ नतीजे दिखाने के लिए, setLocationRestriction() कॉल करें. इससे, तय किए गए क्षेत्र में मौजूद नतीजे ही दिखेंगे.
  • सिर्फ़ किसी खास तरह की जगह के हिसाब से नतीजे पाने के लिए, setTypesFilter() को कॉल करें. उदाहरण के लिए, TypeFilter.ADDRESS को तय करने पर, सिर्फ़ सटीक पते वाले नतीजे दिखेंगे.
  • सिर्फ़ पांच देशों के नतीजे पाने के लिए, setCountries() को कॉल करें. देशों के नाम, दो वर्णों वाले ISO 3166-1 ऐल्फ़ा-2 के साथ काम करने वाले देश के कोड के तौर पर पास किए जाने चाहिए.

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

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

Kotlin

        autocompleteFragment.setLocationBias(bounds)

      

Java

        autocompleteFragment.setLocationBias(
                RectangularBounds.newInstance(
                        new LatLng(-33.880490, 151.184363),
                        new LatLng(-33.858754, 151.229596)
                )
        );

      

नतीजों को किसी खास क्षेत्र के लिए सीमित करना

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

Kotlin

        autocompleteFragment.setLocationRestriction(bounds)

      

Java

        autocompleteFragment.setLocationRestriction(
                RectangularBounds.newInstance(
                        new LatLng(-33.880490, 151.184363),
                        new LatLng(-33.858754, 151.229596)
                )
        );

      

ध्यान दें: यह पाबंदी सिर्फ़ पूरे रास्तों पर लागू होती है. आयताकार सीमा से बाहर मौजूद सिंथेटिक नतीजे, ऐसे रास्ते के आधार पर दिखाए जा सकते हैं जो पाबंदी वाली जगह से ओवरलैप होता है.

जगह के टाइप या टाइप कलेक्शन के हिसाब से नतीजे फ़िल्टर करना

अपने-आप पूरा होने वाले अनुरोध से मिले नतीजों को सीमित किया जा सकता है, ताकि वे सिर्फ़ किसी खास तरह की जगह के बारे में जानकारी दें. जगह के टाइप पर मौजूद टेबल 1, 2, और 3 में दिए गए जगह के टाइप या टाइप कलेक्शन का इस्तेमाल करके, फ़िल्टर तय करें. अगर कोई वैल्यू नहीं दी जाती है, तो सभी टाइप दिखाए जाते हैं.

अपने-आप पूरा होने वाले नतीजों को फ़िल्टर करने के लिए, फ़िल्टर सेट करने के लिए setTypesFilter() को कॉल करें.

टाइप या टाइप कलेक्शन फ़िल्टर तय करने के लिए:

  • setTypesFilter() को कॉल करें और जगह के टाइप पर दिखाई गई टेबल 1 और टेबल 2 से, ज़्यादा से ज़्यादा पांच type वैल्यू तय करें. टाइप की वैल्यू, PlaceTypes में मौजूद कॉन्स्टेंट से तय होती हैं.

  • setTypesFilter() को कॉल करें और जगह के टाइप में दी गई टेबल 3 में से टाइप कलेक्शन चुनें. कलेक्शन की वैल्यू, PlaceTypes में मौजूद कॉन्स्टेंट से तय होती हैं.

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

यहां दिए गए कोड के उदाहरण में, AutocompleteSupportFragment पर setTypesFilter() को कॉल किया गया है. साथ ही, इसमें टाइप की कई वैल्यू दी गई हैं.

Kotlin

    autocompleteFragment.setTypesFilter(listOf("landmark", "restaurant", "store"))

      

Java

    autocompleteFragment.setTypesFilter(List.of("landmark", "restaurant", "store"));

      

कोड के इस उदाहरण में, टाइप कलेक्शन तय करके, AutocompleteSupportFragment पर setTypesFilter() को कॉल करने का तरीका दिखाया गया है. इससे सिर्फ़ सटीक पते वाले नतीजे दिखते हैं.

Kotlin

    autocompleteFragment.setTypesFilter(listOf(PlaceTypes.ADDRESS))

      

Java

    autocompleteFragment.setTypesFilter(List.of(PlaceTypes.ESTABLISHMENT));

      

कोड के इस उदाहरण में, टाइप कलेक्शन तय करके, सिर्फ़ सटीक पते वाले नतीजे दिखाने के लिए, IntentBuilder पर setTypesFilter() को कॉल करने का तरीका दिखाया गया है.

Kotlin

    val intent = Autocomplete.IntentBuilder(AutocompleteActivityMode.FULLSCREEN, fields)
        .setTypesFilter(listOf(PlaceTypes.ESTABLISHMENT))
        .build(this)

      

Java

    Intent intent = new Autocomplete.IntentBuilder(AutocompleteActivityMode.FULLSCREEN, fields)
            .setTypesFilter(List.of(PlaceTypes.ESTABLISHMENT))
            .build(this);

      

देश के हिसाब से नतीजे फ़िल्टर करें

पांच देशों तक के लिए, अपने-आप पूरा होने वाले नतीजों को फ़िल्टर करने के लिए, setCountries() को कॉल करें. इससे देश का कोड सेट हो जाएगा. इसके बाद, फ़िल्टर को किसी फ़्रैगमेंट या इंटेंट पर पास करें. देशों के नाम, दो वर्णों वाले देश के कोड के तौर पर पास किए जाने चाहिए. यह कोड, ISO 3166-1 Alpha-2 के साथ काम करने वाला होना चाहिए.

कोड के इस उदाहरण में, AutocompleteSupportFragment पर setCountries() को कॉल करने का तरीका दिखाया गया है. इससे एक ऐसा फ़िल्टर सेट किया जा सकता है जो सिर्फ़ चुने गए देशों के नतीजे दिखाता है.

Kotlin

    autocompleteFragment.setCountries("AU", "NZ")

      

Java

    autocompleteFragment.setCountries("AU", "NZ");

      

इस्तेमाल करने की सीमाएँ

Places API (लेगसी) और Places SDK for Android (लेगसी) के इस्तेमाल पर, अब हर दिन किए जाने वाले अनुरोधों की संख्या (QPD) की सीमा लागू नहीं होगी. हालांकि, इस्तेमाल करने की ये सीमाएं अब भी लागू होंगी:

  • रेट लिमिट 6,000 क्यूपीएम (हर मिनट में किए जाने वाले अनुरोध) है. इसकी गिनती, एक ही प्रोजेक्ट के क्रेडेंशियल इस्तेमाल करने वाले सभी ऐप्लिकेशन के लिए, क्लाइंट-साइड और सर्वर-साइड के अनुरोधों को जोड़कर की जाती है.

अपने ऐप्लिकेशन में एट्रिब्यूशन दिखाना

  • अगर आपका ऐप्लिकेशन, ऑटोकंप्लीट सेवा का इस्तेमाल प्रोग्राम के हिसाब से करता है, तो आपके यूज़र इंटरफ़ेस (यूआई) में, 'Powered by Google' एट्रिब्यूशन दिखना चाहिए. इसके अलावा, यह Google के ब्रैंड वाले मैप में भी दिख सकता है.
  • अगर आपका ऐप्लिकेशन, अपने-आप पूरा होने वाले विजेट का इस्तेमाल करता है, तो आपको कुछ और करने की ज़रूरत नहीं है. एट्रिब्यूशन की ज़रूरी जानकारी डिफ़ॉल्ट रूप से दिखती है.
  • अगर आईडी के हिसाब से जगह की जानकारी पाने के बाद, जगह की अतिरिक्त जानकारी को वापस लाया जाता है और दिखाया जाता है, तो आपको तीसरे पक्ष के एट्रिब्यूशन भी दिखाने होंगे.

ज़्यादा जानकारी के लिए, एट्रिब्यूशन के बारे में दस्तावेज़ देखें.

किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (लेगसी) को ऑप्टिमाइज़ करना

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

हां

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

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

नहीं

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

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

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

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

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

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

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


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

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

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

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

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

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

जगह की जानकारी को सीमित करना

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

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

समस्या का हल

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

ऑटोकंप्लीट कंट्रोल का इस्तेमाल करते समय होने वाली गड़बड़ियों को onActivityResult() कॉलबैक में दिखाया जाता है. नतीजे का स्टेटस मैसेज पाने के लिए, Autocomplete.getStatus() को कॉल करें.