如何使用Android Places API AutocompleteFilter

时间:2015-04-30 21:43:25

标签: android google-maps autocomplete google-places-api

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

AutocompleteFilter.create()

正如您所看到的,我遵循了Google here提供的文档,但在阅读API Reference之后,他们还没有谈到如何实现过滤器,我仍然无法弄清楚如何实现API。

我需要帮助确定应该将API作为Paint paint = new Paint; paint.setAntiAlias(true); canvas.drawBitmap(sourceBitmap, new Rect(0, 0, sourceBitmap.getWidth(), sourceBitmap.getHeight()), new Rect(0, 0, targetWidth, targetHeight), paint); 的参数。我想按城市过滤数据

由于

3 个答案:

答案 0 :(得分:15)

适用于Google Play Service 9.4。

AutocompleteFilter filter = new AutocompleteFilter.Builder()
        .setTypeFilter(AutocompleteFilter.TYPE_FILTER_CITIES)
        .build();

答案 1 :(得分:3)

您需要在AutoComplete Place API中设置过滤器。

    List<Integer> filters = new ArrayList<Integer>();
        filters.add(Place.TYPE_ADMINISTRATIVE_AREA_LEVEL_1);
    mAutocompleteFilter = AutocompleteFilter.create(filters);
    mGeoLocationAdapter = new GeoLocationAdapter(this,
            android.R.layout.simple_list_item_1,
            latLngBounds,
            mAutocompleteFilter);

Android中仅支持少数类型, 你会得到

AutocompletePredictionBuffer{status=Status{statusCode=NETWORK_ERROR, resolution=null}}

如果您使用不受支持的类型作为过滤器。

请参阅此链接了解支持的过滤器类型..

https://developers.google.com/places/supported_types#table3

答案 2 :(得分:3)

如果您使用的是Google Play服务版本8.4.0,则可以使用子类thread来创建过滤器。

它更易于使用,因为您不必手动构建地方类型列表。

python program.py &

请注意,安装Google Play服务版本8.4.0时,目前存在兼容性问题。如果您遇到此问题,可以按照此AutocompleteFilter.create()进行操作,但如果您遇到困难,我建议您恢复静态弃用{{3}}方法。