如何在 Android 的 Google PlacePlacePicker 中设置“类型”?
Posted
技术标签:
【中文标题】如何在 Android 的 Google PlacePlacePicker 中设置“类型”?【英文标题】:How to set "Types" in Google Place PlacePicker in Android? 【发布时间】:2015-08-31 08:56:28 【问题描述】:在新的 Google Places API 中,它们带有一个名为 PlacePicker 的新功能。从他们拥有的地点列表/地图中选择一个地点是一项简单的活动。
在 Places API 中,我们可以提供一个类型列表,以仅接收那些特定类型的地点。
我正在构建一个仅使用“机构”场所的应用。
但是这个活动显示了所有的地方,包括很多我不需要的地方(图书馆、学校、煤气......)
有办法设置 PlacePicker 的类型吗?
阅读 API 文档并没有说什么。
【问题讨论】:
【参考方案1】:目前看来不可能。但是,有一个open feature request。请给它加星标。
【讨论】:
【参考方案2】:显然现在,android 有文档可以使用 AutocompleteFilter 类进行一些过滤。 Place Autocomplete的文档
使用示例:
//set boundary on build place picker fragment
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
builder.setLatLngBounds(bounds);
//set filter type by country 'malaysia'
AutocompleteFilter typeFilter = new AutocompleteFilter.Builder()
.setTypeFilter(1013) //set point of interest
.setCountry("MY")
.build();
try
Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_OVERLAY)
.setFilter(typeFilter)
.build(MainActivity.this);
startActivityForResult(intent, PLACE_AUTOCOMPLETE_REQUEST_CODE);
catch (GooglePlayServicesRepairableException e)
// TODO: Handle the error.
catch (GooglePlayServicesNotAvailableException e)
// TODO: Handle the error.
【讨论】:
以上是关于如何在 Android 的 Google PlacePlacePicker 中设置“类型”?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Google 帐户在 Android 中使用 AccountManager?