- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在开发一款 Android 应用,我希望用户在其中搜索特定城市的数据(我的应用提供的数据)。为此,我有一个搜索字段,用户可以在其中输入城市名称。我使用 Google Places API 检索自动完成结果,如下所示:
PendingResult results =
Places.GeoDataApi
.getAutocompletePredictions(mGoogleApiClient, searchQuery,
mBounds, mPlaceFilter);
在我的例子中,mBounds 代表德国的边界,因为我只对德国的城市感兴趣,我不希望其他国家的城市出现在自动完成预测中。现在,显然德国不是一个完美的正方形,因此 mBounds 包含整个德国,但也包含瑞士等周边国家的部分地区。所以问题是:如何删除所有不在德国的地方的自动完成预测?
我的第一个想法是首先使用地点过滤器仅获取一个国家/地区的预测。根据documentation这确实可以用于按地区(例如按国家/地区)进行过滤,但不幸的是,Google Places API for Android 不支持(根据文档)这种特定的过滤。
The (regions) type collection is not supported in Google Places API for Android.
似乎也没有任何可能获得 Place 的国家/地区来自 AutocompletePrediction或 Place目的。所以我什至无法自己进行过滤。
我能想到的唯一解决方案如下:
获取 Place从预测中使用 Geocoder API检索 Address然后从那里得到国家并进行过滤。然而,这是一个额外的网络调用(和另一个对我的配额的调用)似乎完全没有必要,因为在我看来 AutocompletePrediction对象或至少 Place对象应该知道一个地方在哪个国家。毕竟,它是那些对象的 description/toString 结果的一部分。然而,这只是一个像“德国慕尼黑”这样的字符串。
使用1.中提到的描述字符串来确定国家。然而,这似乎是一个比 1 更糟糕的解决方案,因为描述是根据用户的区域设置进行本地化的,这可能是一切。所以仅仅寻找“德国”是不够的。
如果有比我目前提出的更好的解决方案,我将不胜感激。我无法想象没有更好的方法来做到这一点。有什么想法吗?
最佳答案
我遇到了同样的问题,但没有找到一种方法来过滤特定的国家,所以我作为一个愚蠢的解决方法所做的是过滤结果,如果它在我的案例中包含国家名称“阿拉伯联合酋长国”
while (iterator.hasNext()) {
AutocompletePrediction prediction = iterator.next();
// Get the details of this prediction and copy it into a new PlaceAutocomplete object.
if(prediction.getDescription().contains("United Arab Emirates"))
resultList.add(new PlaceAutocomplete(prediction.getPlaceId(),
prediction.getDescription()));
}
关于android - 按国家/地区过滤 Google 地方信息自动完成结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31886213/
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
在我的 MVC 应用程序中,我想显示用户访问网站的国家/地区、地区和城市。我怎样才能获取它们? 最佳答案 有几种方法。一种是要求用户与远程服务器共享他的位置。 https://developer.mo
有人知道Firebase电话身份验证是否适用于印度电话号码吗? 我成功实现并使用了美国号码(+1xxxxxxxxxx),但是尝试使用印度电话号码时未收到文本。不确定是否无法正常工作,或者我丢失了某些东
我想知道网站的原始国家/地区。我注意到Alexa网站通常可以检测网站的原始国家/地区。例如,Alexa可以检测到stackoverflow.com网站的原始国家/地区是美国,依此类推。 Alexa如何
我有一些文本,其中可能包含也可能不包含国家/地区名称。例如: ' Nigeria: Hotspot Network LTD Rural Telephony Feasibility Study' 这就是
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
我有一组值,它们是我的 ajax 调用中的国家/地区代码 Handler.getCountryIdparam1, {callback:function(data){ // data will
我在我的应用程序中使用谷歌地点。一切正常,但我只想从输入中删除或忽略国家/地区。 例如,如果输入“arc”我有 Arcachon, France Arcueil, France Archamps, F
在 firebase 中创建项目时,我错误地选择了错误的国家/地区。 正如您在这里看到的: 这个问题可以解决吗? (我知道项目 ID 无法更改,而且我喜欢我选择的 ID...) 最佳答案 如the d
我有一个名为“Login”的Hive表。它包含以下列: UserID | UserName | UserIP | UserCountry | Date 在特定的一天(当天的所有登录信息),我想找出用户
我正在使用谷歌地图和地理编码API来检索用户输入邮政编码/邮政编码后的纬度/经度,但我想将邮政编码/邮政编码限制为该用户所在的国家/地区,这样我就不会得到结果多个结果。 是否有一种方法可以使用 jqu
是否可以获得维基百科上所有有关系的国家、地区和城市的列表?我找不到任何适合此任务的 API。解析我需要的所有信息的最简单方法是什么?PS:我知道,我可以从其他数据源获取此信息。但我对维基百科感兴趣..
我正在用两种语言制作一个网站。是否可以检查用户位于哪个国家,以便我可以自动为用户切换语言?我的菜单中还有一个带有 _GET 的切换选项。我一开始有这段代码: if (isset($_GET['taal
这是我的 Firebase 数据库结构: 看起来就是这样。有国家和用户。如果用户访问过某个国家/地区,则该国家/地区将存储在该用户的“VisitedCountries”子项中。例如用户 Angelin
这个问题在这里已经有了答案: Convert latitude and longitude coordinates to country name in R (2 个回答) 关闭9年前. 我有一个带有
我目前正在开发我的第一个iOS应用(phonegap / cordova)。我想知道是否需要采取某些步骤,以使其不仅可用于德国应用程序商店(这是我的语言),还可以提供给国际应用程序? 最佳答案 不,你
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
背景 我目前正在开发一个向用户提问的 Android 应用程序。目前我正在创建用于提问的模块。现在我正在开发一个地形模块,它将能够向用户询问有关某个国家/地区的各种问题,并向他们显示。 问题 对于本模
我正在使用 Cloudera 的 TwitterSource for Flume。我想按国家/地区获取具有某些关键字的推文。当我想获取来自荷兰的推文时,我不知道该与什么进行比较。我有以下结果,但没有任
大多数 Web 应用程序都有一个位置字段,用户可以在其中输入自己选择的位置。 如何根据输入的位置将用户分类到不同的国家/地区。 例如,我使用了 users.xml 的 Stack Overflow 转
我是一名优秀的程序员,十分优秀!