【问题标题】:How to invoke setCountry() to AutocompleteFilter Google place API?如何调用 setCountry() 到 AutocompleteFilter Google place API?
【发布时间】:2017-03-24 10:38:29
【问题描述】:

我正在实施 PlaceAutocompleteFragment 以自动完成位置。我想将我的搜索限制在特定的国家(就像之前我们在 url 中使用 component=UK 一样)。如何在下面的代码中实现这一点。

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

请帮忙..

【问题讨论】:

  • 您可能想尝试类似SO thread 中已经提供的解决方案。

标签: android google-play-services google-places-api


【解决方案1】:
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);

您需要确保播放版本应该是 compile 'com.google.android.gms:play-services:9.6.1'

【讨论】:

【解决方案2】:

你所要做的就是这个;

autocompleteFragment.setCountries("UK");

你可以从这里看到更多Google Developers PageYoutube Video

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 2014-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多