2016-11-10 6 views
2

Ich implementiere PlaceAutocompleteFragment zur automatischen Vervollständigung des Standorts. Ich möchte meine Suche auf ein bestimmtes Land beschränken (früher verwenden wir component = UK in url). Wie kann ich dies in meinem untenstehenden Code erreichen?Wie kann setCountry() auf AutocompleteFilter Google Place API aufgerufen werden?

@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); 
     } 
    }); 

Bitte helfen ..

+0

Das könnte dir Ich möchte die Lösung versuchen, die bereits in diesem ähnlichen [SO-Thread] (http://stackoverflow.com/questions/33340286/restrict-autocomplete-search-to-a-particular-country-in-google-places-android-ap) bereitgestellt wurde). – noogui

Antwort

8
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); 

Sie müssen Play-Version machen sollte sicherstellen, kompilieren werden 'com.google.android.gms: play-Dienste: 9.6.1'

+1

Hier sollte Land sein ** ISO 3166-1 Alpha-2 Ländercode (Groß- und Kleinschreibung wird nicht berücksichtigt), Siehe ** [Dokumentationen] (https://developers.google.com/android/reference/com/google/android/gms/ location/places/AutocompleteFilter.Builder) und verweisen auf [Ländercodes] (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) –

Verwandte Themen