【问题标题】:Google geocoding API limit after first OVER_QUERY_LIMIT第一个 OVER_QUERY_LIMIT 之后的 Google 地理编码 API 限制
【发布时间】:2016-06-22 12:14:13
【问题描述】:

我正在使用 Google 地理编码 API 对多个地址进行地理编码。所以我所做的是按顺序发出请求,一旦我获得 OVER_QUERY_LIMIT 状态,我会冷静 1.5 秒,然后继续。

根据文档 (https://developers.google.com/maps/documentation/geocoding/usage-limits),我应该能够达到 10req/s,这对于第一个请求是正确的,但是一旦我第一次达到限制,我只能在我之前完成 2-3 个请求再次获得 OVER_QUERY_LIMIT。对于 10req/s,我原以为我可以制作 20req/2s、30req/3s 等等,但似乎并非如此。

我是否遗漏了什么或者这是预期的行为?

如果我有一个高级帐户,我会有同样的行为吗?所以我在第一秒得到 50req,但随后限制会减少?

编辑: 这就是我的地理编码请求的样子

var geocoder = new google.maps.Geocoder();
geocoder.geocode({'address': address}, function(result, status) {
    if(status === google.maps.GeocoderStatus.OK) {
        // Yippee
    } else if (status === google.maps.GeocoderStatus.OVER_QUERY_LIMIT) {
        // Wait 1.5s then retry address
    } else {
        // Crap!
    }
}

【问题讨论】:

  • 您使用客户端地理编码器还是服务器端 Web 服务?
  • 请求是在客户端提出的,我已经用代码示例更新了我的问题

标签: google-maps google-maps-api-3 google-geocoding-api


【解决方案1】:

您正在检查 Web 服务的文档。确实,Web 服务有 10 QPS 的使用限制,但客户端实现不同。

从 JavaScript 客户端地理编码器服务,您可以立即执行一个包含 10 个请求的存储桶,之后该存储桶以每秒 1 个请求的速率重新填充。这是为人机交互而设计的,您不能使用客户端服务执行批量地理编码。

所以这是预期的行为。

【讨论】:

  • 您有关于 1/秒的“再填充率”的任何文档吗?我真的在任何地方都找不到它,但测试表明这是真的。如果我等待例如 5 秒,您是否会知道是否可以提前执行 10 个请求? (顺便溢价资产计划)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-03
  • 1970-01-01
相关资源
最近更新 更多