Google GeoCoding API限制在第一次over_query_limit之后



我正在使用Google Geocoding 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服务的文档。实际上,Web服务具有10个QPS使用限制,但客户端实现是不同的。

在JavaScript客户端地理编码器服务中,您可以立即执行10个请求的存储桶,此后,桶以每秒的费率请求1请求。这是为人类互动而设计的,您无法使用客户端服务执行批处理地理编码。

所以这是预期的行为。

最新更新