4

I am implementing PlaceAutocompleteFragment for auto complete of location. I want to restrict my search to specific country ( like earlier we use component=UK in url). How can I achieve this in my below code.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    PlaceAutocompleteFragment autocompleteFragment =     (PlaceAutocompleteFragment)
            getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);

    AutocompleteFilter typeFilter = new AutocompleteFilter.Builder()
            .setTypeFilter(AutocompleteFilter.TYPE_FILTER_REGIONS)
            .build();
    autocompleteFragment.setFilter(typeFilter);

    autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
        @Override
        public void onPlaceSelected(Place place) {
            Log.i(TAG, "Place: " + place.getName());
            Log.i(TAG, "Place: " + place.getId());
        }

        @Override
        public void onError(Status status) {
            Log.i(TAG, "Place: " + status);
        }
    });

Please help..

sharma.mahesh369
  • 985
  • 11
  • 28
  • You might want to try the solution already provided in this similar [SO thread](http://stackoverflow.com/questions/33340286/restrict-autocomplete-search-to-a-particular-country-in-google-places-android-ap). – ReyAnthonyRenacia Nov 13 '16 at 11:40

2 Answers2

9
PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
            getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);

    AutocompleteFilter typeFilter = new AutocompleteFilter.Builder()
            .setTypeFilter(Place.TYPE_COUNTRY).setCountry("UK")
            .build();
    autocompleteFragment.setFilter(typeFilter);

You need to make ensure play version should be compile 'com.google.android.gms:play-services:9.6.1'

sharma.mahesh369
  • 985
  • 11
  • 28
  • 1
    where country should be **ISO 3166-1 Alpha-2 country code (case insensitive), Refer **[Documentations](https://developers.google.com/android/reference/com/google/android/gms/location/places/AutocompleteFilter.Builder) and refer [Country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) – Avinash Kumar Feb 02 '18 at 05:25
1

All you have to do is this;

autocompleteFragment.setCountries("UK");

You can see more from here Google Developers PageYoutube Video

Mpwanyi Samuel
  • 178
  • 3
  • 7