Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为Android的place Autocomplete API创建一个place类型过滤器_Android_Autocomplete_Google Places Api - Fatal编程技术网

为Android的place Autocomplete API创建一个place类型过滤器

为Android的place Autocomplete API创建一个place类型过滤器,android,autocomplete,google-places-api,Android,Autocomplete,Google Places Api,这个API看起来相当新,所以这里没有太多关于它的问题,也没有太多教程 我遵循谷歌的教程,在我的应用程序中使用了自动完成的Android api。我现在正试图使用自动完成过滤器将我的结果限制在某个区域或某些类型的地方 对于像我这样的初学者来说,似乎没有什么文档来解释该做什么 自动完成过滤器需要一个集合对象。如何将下列值更改为整数 问题由一名谷歌员工自己解决,我通过我们的“工作地图”支持门户网站联系了他 下面列出了位置类型及其整数对应项 这些可以用来过滤Android Place Autocomp

这个API看起来相当新,所以这里没有太多关于它的问题,也没有太多教程

我遵循谷歌的教程,在我的应用程序中使用了自动完成的Android api。我现在正试图使用自动完成过滤器将我的结果限制在某个区域或某些类型的地方

对于像我这样的初学者来说,似乎没有什么文档来解释该做什么

自动完成过滤器需要一个集合对象。如何将下列值更改为整数


问题由一名谷歌员工自己解决,我通过我们的“工作地图”支持门户网站联系了他

下面列出了位置类型及其整数对应项


这些可以用来过滤Android Place Autocomplete API。

我还不能发表评论,所以我在这里为上面的答案添加了一个警告:

并非所有来自位置的常量都可以使用AutocompleteFilter进行过滤,Android上只有两个可用:
Place。键入地理编码和
Place。键入地址设置('address'出现在文档中,但在
Place
中不是常量)

如果使用任何其他常量(例如
Place.TYPE_LOCALITY
),请求将导致此混乱的状态错误:

Status{statusCode=NETWORK_ERROR, resolution=null}  

Android Place Autocomplete不支持前面答案中提供的所列举的所有类型

自v8.4发布以来,支持的类型由AutoCompleteTFilter提供,如文档所示


根据您的要求,可以构建一个
自动完成过滤器
。然后可以使用
setFilter()
将此筛选器应用于
IntentBuilder

例如:

  • 如果要将结果限制在特定国家,可以通过以下方式进行:

    AutocompleteFilter typeFilter = new AutocompleteFilter.Builder().setCountry("IN").build();
    
    Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN).setFilter(typeFilter).build(this);
    
  • 如果要将结果限制为特定的位置类型,可以通过将过滤器更改为以下类似方式:

    AutocompleteFilter typeFilter = new AutocompleteFilter.Builder().setTypeFilter(AutocompleteFilter.TYPE_FILTER_REGIONS).build();
    

  • 你的问题到底是什么?它与android AutoCompleteTextView或Google places AutoComplete api有关吗?如果您想要更简单的AutoCompleteTextView,可以使用库。。它有自动完成谷歌的地方作为一个样本,这可能会对你有所帮助。问题很清楚。阅读URL前的最后一行。我想为Google Place Autocomplete查询创建一个Place类型筛选器。AutoMcCompleteFilter类中没有setCountry(String)可用的方法。有一个可用的选项。您必须使用生成器模式。您可以参考这里的文档:谢谢Karan。但我不能使用您在回答中提到的setCountry()方法。它说没有这样的方法。我在任何地方都找不到这种方法的任何示例用法。“你能帮我一下吗?”格林霍恩:当然。你能在遇到问题的地方写下代码吗?谢谢karan。我的问题已经解决了。我使用的是google play服务9.0.2版,不支持这种方法。升级了我的播放服务版本,我可以使用您建议的方法调用。它的工作很好,结果很好。我只想把语言限制在英语。因为我得到了一些搜索结果的区域语言数据。你对此有什么想法吗?很抱歉投了反对票,这是偶然的。如果不先编辑您的答案,我将无法还原它:(@AngelosVeglektsis)我代表你投了赞成票。这正是我要寻找的链接。感谢Asim分享答案
    AutocompleteFilter typeFilter = new AutocompleteFilter.Builder().setTypeFilter(AutocompleteFilter.TYPE_FILTER_REGIONS).build();