如何使用地方自动完成API处理OVER_QUERY_LIMIT错误

时间:2019-05-11 13:14:17

标签: android google-places-api

我正在尝试在Android应用程序中使用“ Google place autocomplete api”创建地点搜索功能。当我只输入“ gl”时,API会成功显示自动完成的位置。但是在键入“ gle”时,它会发生OVER_QUERY_LIMIT。

我在Google文档中找到了有关查询限制的政策,并且我理解。 “速率限制为每秒100个请求(QPS)。它是使用同一项目的凭据的所有应用程序的客户端和服务器端请求的总和。”

但是我故意每隔一秒钟输入一次“ gle”。

在Android中,有什么方法可以应对OVER_QUERY_LIMIT吗?我可以在自动完成查询中应用反跳功能吗?

也许唯一的解决方案是付出代价。?

我尝试了限制区域和RectangularBounds。

override fun onCreate(savedInstanceState: Bundle?) {
...
  val bounds = RectangularBounds.newInstance(
            LatLng(-33.880490, 151.184363),
            LatLng(-33.858754, 151.229596)
        )

  val fields = listOf(Place.Field.ID, Place.Field.NAME,Place.Field.LAT_LNG)

  val intent = Autocomplete.IntentBuilder(
            AutocompleteActivityMode.FULLSCREEN, fields
  ).setLocationBias(
      RectangularBounds.newInstance(
        LatLng(-33.880490, 151.184363),
        LatLng(-33.858754, 151.229596)
       ).setCountry("au")
            .setLocationBias(bounds)
            .setTypeFilter(TypeFilter.ADDRESS)
            .build(this)startActivityForResult(intent, 
  AUTOCOMPLETE_REQUEST_CODE)

  startActivityForResult(intent, AUTOCOMPLETE_REQUEST_CODE)
...
}

我希望显示连续的自动完成建议。

1 个答案:

答案 0 :(得分:1)

  

请确保您已启用结算帐户。