将自动完成搜索限制在 Google 个位置 API 中的 "India"
Restrict Autocomplete search to "India" in Google Places API
我正在使用 Google 地点自动完成 API 来搜索印度的城市。我使用以下代码来过滤自动完成:
PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);
AutocompleteFilter typeFilter = new AutocompleteFilter.Builder()
.setTypeFilter(AutocompleteFilter.TYPE_FILTER_CITIES)
.setCountry("India")
.build();
autocompleteFragment.setFilter(typeFilter);
autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(Place place) {
// TODO: Get info about the selected place.
Log.i("TAG", "Place: " + place.getName());
}
@Override
public void onError(Status status) {
// TODO: Handle the error.
Log.i("TAG", "An error occurred: " + status);
}
});
在 运行 这段代码中,自动完成对话框显示 Can't load search results 错误消息。
当我将国家/地区设置为 .setCountry("UK")
时,相同的代码工作正常。我究竟做错了什么?有限制自动完成的替代方法吗?
从 .setCountry("India")
更改为 .setCountry("IN")
写国家代码而不是国家名称...更多信息 here
我正在使用 Google 地点自动完成 API 来搜索印度的城市。我使用以下代码来过滤自动完成:
PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);
AutocompleteFilter typeFilter = new AutocompleteFilter.Builder()
.setTypeFilter(AutocompleteFilter.TYPE_FILTER_CITIES)
.setCountry("India")
.build();
autocompleteFragment.setFilter(typeFilter);
autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(Place place) {
// TODO: Get info about the selected place.
Log.i("TAG", "Place: " + place.getName());
}
@Override
public void onError(Status status) {
// TODO: Handle the error.
Log.i("TAG", "An error occurred: " + status);
}
});
在 运行 这段代码中,自动完成对话框显示 Can't load search results 错误消息。
当我将国家/地区设置为 .setCountry("UK")
时,相同的代码工作正常。我究竟做错了什么?有限制自动完成的替代方法吗?
从 .setCountry("India")
更改为 .setCountry("IN")
写国家代码而不是国家名称...更多信息 here