AutocompleteFilter typeFilter = new AutocompleteFilter.Builder().setCountry("IN").build();
Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN).setFilter(typeFilter).build(this);
如果要将结果限制为特定的地点类型,可以通过将Filter更改为以类似的方式执行此操作:
AutocompleteFilter typeFilter = new AutocompleteFilter.Builder().setTypeFilter(AutocompleteFilter.TYPE_FILTER_REGIONS).build();
4
Android Place Autocomplete不支持上一个答案中提供的link枚举的所有类型 .
// AutocompleteFilter
public static final int TYPE_FILTER_NONE = 0;
public static final int TYPE_FILTER_GEOCODE = 1007;
public static final int TYPE_FILTER_ADDRESS = 2;
public static final int TYPE_FILTER_ESTABLISHMENT = 34;
public static final int TYPE_FILTER_REGIONS = 4;
public static final int TYPE_FILTER_CITIES = 5;
4 回答
我还不能评论所以我在这里添加一个警告,上面的答案:
并非所有来自Place的常量都可用于使用AutocompleteFilter进行过滤,在Android上只有两个可用:
Place.TYPE_GEOCODE
和Place.TYPE_ESTABLISHMENT
('address'出现在文档中但在Place
中不是常量)如果使用任何其他常量(例如
Place.TYPE_LOCALITY
),请求将导致此混乱状态错误:我通过Google Map 工作支持门户网站联系了Google员工,解决了问题 .
这是一个地方类型列表及其整数对应物 .
https://developers.google.com/android/reference/com/google/android/gms/location/places/Place
这些可用于过滤Android Place Autocomplete API .
根据您的要求,可以构建
AutocompleteFilter
. 然后可以使用setFilter()
将此过滤器应用于IntentBuilder
.例如:
Android Place Autocomplete不支持上一个答案中提供的link枚举的所有类型 .
自v8.4发布以来,受支持的类型由AutocompleteFilter提供,如here所述 .