【问题标题】:Can you create custom place types to return in Google Place Autocomplete?您可以创建自定义地点类型以在 Google 地点自动填充中返回吗?
【发布时间】:2018-02-05 04:51:51
【问题描述】:

我在 Android 上使用 Google Places Api。我需要将我的搜索结果限制在足球/足球场,但似乎没有办法将结果限制在这种类型的地方。

这是 Google 的文档:https://developers.google.com/places/android-api/supported_types

那么有没有办法为自动完成搜索结果创建自定义过滤器?如果 Google 的自动完成功能无法做到这一点,是否还有其他可能将搜索结果过滤到足球/足球场?

【问题讨论】:

    标签: java android autocomplete


    【解决方案1】:

    您可以使用Filterable 过滤结果。我不熟悉API,但这可能会有所帮助。更改为满足您的需求。

    class CustomAdapter extends ArrayAdapter implements Filterable {
    
    private List<Data> dataList;
    private List<Data> mSdataFilterList;
            public CustomAdapter(Context context, int resource) {
                super(context, resource);
               //initialize both lists with unfiltered data
            }
    
            @Override
            public Filter getFilter() {
                // return a filter that filters data based on a constraint
    
                return new Filter() {
                    @Override
                    protected FilterResults performFiltering(CharSequence constraint) {
                    FilterResults results = new FilterResults();
                    for (int i = 0; i < mSdataFilterList.size(); i++) {
                    if ((mSdataFilterList.get(i).getData().toUpperCase())
                            .contains("footbal")||(mSdataFilterList.get(i).getData().toUpperCase())
                            .contains("soccer")) {
    
                        Data data= new Data(
                        mSdataFilterList.add(data);
                    }
                }
                results.count = mSdataFilterList.size();
                results.values = mSdataFilterList;
                        return results;
                    }
    
                    @Override
                    protected void publishResults(CharSequence constraint, FilterResults results) {
                      dataList= (ArrayList<Data>) results.values;
                      notifyDataSetChanged();
                    }
                };
            }
    

    【讨论】:

      【解决方案2】:

      您可以在经过过滤/确认的足球场的 Firebase 中构建自己的存储库,然后将此列表用作自动完成视图的来源。

      【讨论】:

        猜你喜欢
        • 2016-04-19
        • 2015-01-31
        • 1970-01-01
        • 2012-01-27
        • 2014-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多