如何使用Android Places API AutocompleteFilter

Tan*_*ayP 16 android google-maps autocomplete google-places-api

我试图在我的应用程序中实现Android的新Places API,我似乎无法弄清楚如何设置过滤器的请求.这是我的代码.

LatLng southWest = new LatLng(85, -180);
LatLng northEast = new LatLng(-85, 180);
LatLngBounds bounds = new LatLngBounds(southWest, northEast);
AutocompleteFilter filter = AutocompleteFilter.create(WHAT SHOULD GO HERE?);
PendingResult result = Places.GeoDataApi.getAutocompletePredictions(mGoogleApiClient,
            search.getText().toString(), bounds, filter);
Run Code Online (Sandbox Code Playgroud)

正如你可以看到我之后谷歌提供的文件在这里,但我他们不谈论如何实现过滤器,阅读后API参考我仍然无法弄清楚如何实现API.

我需要帮助找出应该作为AutocompleteFilter.create()API 参数的内容.我想按城市过滤数据

谢谢

Pau*_*uiz 15

从文档:

表3:自动填充请求支持的类型

您可以通过传递types参数将Place Autocomplete请求的结果限制为某种类型.该参数指定类型或类型集合,如下面支持的类型中所列.如果未指定任何内容,则返回所有类型.通常只允许一种类型.例外情况是您可以安全地混合地理编码和建筑类型,但请注意,这与指定无类型具有相同的效果.支持的类型是:

地理编码指示地方自动填充服务仅返回地理编码结果,而不是业务结果.通常,您使用此请求来消除指定位置可能不确定的结果的歧义.地址指示地方自动填充服务仅返回具有精确地址的地理编码结果.通常,当您知道用户将查找完全指定的地址时,您将使用此请求.企业指示地方自动填充服务仅返回业务结果.(regions)类型集合指示Places服务返回与以下类型匹配的任何结果:locality sublocality postal_code country administrative_area_level_1 administrative_area_level_2(cities)类型集合指示Places服务返回与locality或administrative_area_level_3匹配的结果.

来源:https://developers.google.com/places/supported_types

码:

    List<Integer> filterTypes = new ArrayList<Integer>();
    filterTypes.add( Place.TYPE_ESTABLISHMENT );
Run Code Online (Sandbox Code Playgroud)


小智 15

它适用于Google Play Service 9.4.

AutocompleteFilter filter = new AutocompleteFilter.Builder()
        .setTypeFilter(AutocompleteFilter.TYPE_FILTER_CITIES)
        .build();
Run Code Online (Sandbox Code Playgroud)

  • 现在这是正确的解决方案,每个人都应该使用它 (2认同)