Google Maps Geocoding API每秒配额限制与文档不匹配

时间:2015-10-17 15:51:46

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

我想知道某人是否有同样的问题:

我正在查询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转换为像素,并在地图上绘制叠加层。也许是因为它?

感谢您的关注。

1 个答案:

答案 0 :(得分:2)

每天2500个请求长达34.56秒/请求。每秒10个请求速率限制仅在短时间内有效(大约10个请求)。

(24小时/天* 60分钟/小时* 60秒/分钟)/ 2500个请求= 34.56秒/请求

每天2500个请求是硬限制。每秒10个请求可能会根据服务器负载和其他因素而变化,包括您最近的请求历史记录。