Google 地理编码 API 限制在第一个 OVER_QUERY_LIMIT 之后

Google geocoding API limit after first OVER_QUERY_LIMIT

我正在使用 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 服务有 10 QPS 使用限制,但客户端实现不同。

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

所以这是预期的行为。