GMSAutocompleteViewController仅显示5个结果

问题描述 投票:5回答:1

我在我的应用程序中集成了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中正常运行而不启用结算?

ios swift google-maps google-places
1个回答
4
投票

我假设您启用了Google Places API,并且您的Google Developer Console也没有针对该项目的应用程序限制。说有关于APIs and billing的Google页面

  1. Android和iOS Places API可能有所不同,因此对于某些API,您可能需要启用结算: 某些API允许免费使用,最高可达礼貌使用限制,在某些情况下,当您启用结算时,此免费限制会增加。
  2. 也许在您的Android应用中,您使用的是链接到已启用结算的项目的API,而对于您的iOS应用,您使用的是链接到未启用结算的其他项目的API。 计费是在项目级别启用的,而不是API级别。如果为项目启用计费,则根据项目的使用情况对该项目中的每个可计费API进行计费。项目中的所有使用都使用您指定的付款方式进行结算,您可以随时更改为其他方法。您无法有选择地为某些API启用计费,但不能为其他API启用计当您为项目启用计费时,它将应用于您在该项目中使用的所有API,即使API当前已禁用。

也许某些内容与您在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应用程序项目可能已经落入尚未推出的批处理中强制结算选项已启用。

© www.soinside.com 2019 - 2024. All rights reserved.