ios - GMSAutocompleteViewController 仅显示 5 个结果
问题描述
我在我的应用程序中集成了 GMSAutocompleteViewController。
let autocompleteController = GMSAutocompleteViewController()
autocompleteController.delegate = self
let filter = GMSAutocompleteFilter()
filter.type = .address
autocompleteController.autocompleteFilter = filter
// Display the autocomplete view controller.
present(autocompleteController, animated: true, completion: nil)
这始终只显示 5 个结果。此外,这种行为似乎有点奇怪。首先,当我在搜索中写J时,会显示 5 个结果。在编写更多文本并删除这些文本以再次将搜索文本设置为J后,我得到 -无法加载结果。然后结果永远不会显示,除非我重新启动我的应用程序。
我在 Android 中尝试了相同的实现,AutocompleteSupportFragment
效果很好。在看到Ravi 的答案以及其他人的答案后,我早些时候想知道。但是,如果启用计费是解决方案,为什么它在不启用计费的情况下在 Android 中运行良好?
解决方案
我假设您启用了 Google Places API,并且您的 Google Developer Console 下对该项目没有应用程序限制。说有一个关于APIs and billing的谷歌页面
Android 和 iOS Places API 可能不同,因此对于某些 API,您可能需要启用计费:
某些 API 允许免费使用达到免费使用限制,并且在某些情况下,当您启用计费时,此免费限制会增加。
也许在您的 Android 应用程序中,您使用的 API 链接到已启用计费的项目,而对于您的 iOS 应用程序,您使用的 API 链接到未启用计费的另一个项目。
计费在项目级别启用,而不是 API 级别。如果您为项目启用计费,则该项目中的每个可计费 API 都会根据项目的使用情况进行计费。项目中的所有使用均使用您指定的付款方式计费,您可以随时更改为其他方式。您不能选择性地为某些 API 启用计费,但不能为其他 API 启用;当您为项目启用计费时,它适用于您在该项目中使用的所有 API,即使该 API 当前已禁用。
也许某些东西与您在 Android 应用程序项目中使用的 Places SDK 版本有关,并且它的一些内部功能可能会影响您是否要与其更新的 API 版本交谈,这需要启用或不启用 Billing。检查迁移到 New Places SDK 客户端中所述的信息以了解此假设。
最后,正如 Google 在 Places SDK for Android、Places SDK for iOS、Places API 中的大量文档所述,它们在每篇文章的开头都有一个红色警告,说在每个项目中你应该启用 Billing。如果我之前的所有语句都失败了,这可能意味着他们在不同批次的用户/项目中应用了计费规则和 API 功能限制,因此您的 android 应用程序项目可能属于尚未推出的批次强制启用计费选项。
推荐阅读
- r - 如何通过单击文件而不打开mac的终端来运行R闪亮的应用程序
- angular - 离子应用中的循环依赖
- node.js - Javascript Promises 和 map 函数
- oracle - 当查询返回值并且没有“EXCEPTION WHEN NO_DATA_FOUND THEN”时传递数据(Oracle 11g)
- c# - 使用 C# 将文件上传到 azure 文件存储使目录中的所有其余文件长度为 0
- c# - CultureInfo 对大名称(字符串)的“奇怪”响应
- mongodb - 任何云功能都可以有英国 IP 地址吗?
- python - 远程连接到 MongoDB 数据库而不以明文形式存储密码
- java - 在 sbt 应用程序中自定义 ForkJoinPool
- c# - 升级到 ASP.NET Core 2.2 后如何配置 Azure 日志记录