如何在 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 中设置“类型”?的主要内容,如果未能解决你的问题,请参考以下文章

Android - 如何在 Google+ 上发布游戏成就

如何通过 Google 帐户在 Android 中使用 AccountManager?

如何在 android 上使用 google map api 获取 google 驾驶指令?

Android -- Google+ 即时上传如何工作?

Android -- Google+ 即时上传如何工作?

如何在使用 Google 登录按钮时不将 Google 帐户添加到 Android 手机