如何有效检测 UI 文本输入以调用 google places API 以获取建议?

Posted

技术标签:

【中文标题】如何有效检测 UI 文本输入以调用 google places API 以获取建议?【英文标题】:How to detect UI text input effectively to call google places API for suggestions? 【发布时间】:2016-02-22 19:55:59 【问题描述】:

在 UItextfield 中检测用户输入以调用位置 API 以作为用户类型的建议的最佳方法是什么?目前我的做法是,在 3 个字母之后,我为每个字母输入调用地点 API。但是如果用户输入 4 到 5 个字母,应用程序很快就会崩溃,可能是因为网络过多或其他原因。

ios 中的谷歌地图应用或谷歌搜索应用为例。他们如何决定在什么时候调用 api 来显示建议的结果?有时用户打字速度很快,有时他们一个字母一个字母地打字。

如果我的问题很愚蠢,请道歉。

【问题讨论】:

【参考方案1】:

如果没有看到您的代码,很难确定,但我怀疑崩溃是由 updating UI controls in non-UI threads 引起的。

正如您所发现的,根据用户类型发出请求(发出过多请求、请求无序返回等)时会出现一些微妙的问题。考虑使用 Google Places iOS SDK 中的 GMSAutocompleteFetcher 类,它会自动处理这些问题。

【讨论】:

【参考方案2】:

请参阅 Google https://developers.google.com/places/ios-api/autocomplete 提供的此选项。我还没有尝试过,也许它可以帮助。

【讨论】:

以上是关于如何有效检测 UI 文本输入以调用 google places API 以获取建议?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Google Vision Api 检测块内的所有文本

检测从 Google Play UI 退出

如何通过 Google Play 排行榜 UI 检测退出?

JS检测文本框中输入的IP地址是不是有效

使用 jQuery 检测表单输入的自动完成

检测jQuery中的输入变化?