我在我的应用程序中集成了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's answer后,我很早就想知道,还有其他一些人。但是,如果启用计费是解决方案,为什么它在Android中正常运行而不启用结算?
我假设您启用了Google Places API,并且您的Google Developer Console也没有针对该项目的应用程序限制。说有关于APIs and billing的Google页面
也许某些内容与您在Android App Project中使用的Places SDK版本有关,如果您要与他们需要启用或不启用“结算”的更新API版本进行对话,则其某些内部功能可能会受到影响。检查Migrating to the New Places SDK Client中所述的信息以了解此假设。
最后,正如Google的Places SDK for Android,Places SDK for iOS,Places API中的大量文档中所述,他们在每篇文章的开头都有一个红色警告,说明在每个项目中你应该启用结算。如果我之前的所有语句都失败了,那么可能意味着他们在不同批次的用户/项目中应用了Billing和API功能限制规则,因此您的Android应用程序项目可能已经落入尚未推出的批处理中强制结算选项已启用。