javascript - Google Maps Geocoding API 不正确的速率限制

标签 javascript google-maps map

我正在向我公司使用的内部工具之一添加映射功能。长话短说,我们有一个包含大约 50 个地址的列表,这些地址需要放在 map 上。我正在使用 Google map ,因此它是一个交互式 map ,然后是用于地理编码和添加标记的 javascript API。

根据 Google's documentation ,我被限制为每秒 10 个请求。因此,我将我的 javascript 设置为搅动地址数组,并在每批之间设置延迟。

所以我的函数设置了两个我可以设置的 confif 变量:addressesPerBatch 和 timeoutPerBatch - 很明显每个变量应该做什么。你会认为,从谷歌的文档来看,我会被允许

 addressesPerBatch = 10;
 timeoutPerBatch = 1000; //That's in milliseconds

我肯定不是。当我如此快速地发送请求时,我很快就达到了我的速率限制。我发现的甜蜜点实际上就在周围”

 addressesPerBatch = 2;
 timeoutPerBatch = 2000;

那么,这是我的 javascript 问题,还是 Google 的速率限制问题?

我创建了一个 jsfiddle,因此您可以更好地了解我在做什么: http://jsfiddle.net/Qt4gV/1/

最佳答案

根据 Google 代码页上对类似问题的回答:“不公开 Geocoding API 请求速率限制以帮助最大程度地减少服务滥用。” https://code.google.com/p/gmaps-api-issues/issues/detail?id=3099#c4

就像@jwegner 在评论中提到的那样,应该检查返回的状态代码并针对“OVER_QUERY_LIMIT”的情况实现常量退避。

关于javascript - Google Maps Geocoding API 不正确的速率限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7955899/

相关文章:

javascript - 获取脚本标签所在的 DOM 元素

javascript - 填充数组项上的映射函数后似乎为空

javascript - 如何在 iframe 标签中添加谷歌地图

ios - 在 iOS 中使用 Google map 时如何使用自定义标注进行注释?

map - 创建在配色方案中正确显示分位数类范围值和相关颜色的等值统计图图例?

java - 以 LIFO 顺序将条目存储在 Java 映射中

vim - 通过腻子在vim中映射鼠标事件不起作用

javascript - mCustomScrollbar 在 wrapper 上滚动但不在 ul 上滚动

javascript - 将事件附加到包含更多 iframe 的 iframe

ios - Swift:未安装谷歌地图时应用程序需要打开苹果 map