我想知道某人是否有同样的问题:
我正在查询Google的服务器,并使用/api/login
循环对某些地方进行地理编码,类似于以下内容:
setTimeout()
现在,我已将超时设置为//...
var loop = function() {
setTimeout(function() {
// Here I do the geocode request and create a CustomOverlay which I then show on the map.
setTimeout(loop, 0); // Let the browser do some other work, e.g. rendering
}, 125);
};
loop();
//...
毫秒,这意味着在1秒内最多可以生成8个请求(125
)。但有时我会在脚本执行一段时间后获得Google的8 * 125 = 1000
状态代码。
现在文档(https://developers.google.com/maps/documentation/geocoding/usage-limits)说:
标准API的用户:
- 每天2,500次免费请求
- 每秒10个请求
为什么OVER_QUERY_LIMIT
会在我的案例中退回?是因为我还创建了自定义OVER_QUERY_LIMIT
吗?我对每个结果使用Overlay
方法将地理编码器返回的overlayProjection.fromLatLngToDivPixel()
和lat
转换为像素,并在地图上绘制叠加层。也许是因为它?
感谢您的关注。
答案 0 :(得分:2)
每天2500个请求长达34.56秒/请求。每秒10个请求速率限制仅在短时间内有效(大约10个请求)。
(24小时/天* 60分钟/小时* 60秒/分钟)/ 2500个请求= 34.56秒/请求
每天2500个请求是硬限制。每秒10个请求可能会根据服务器负载和其他因素而变化,包括您最近的请求历史记录。