我使用Google Elevation Service获取路径上所有节点的高程,由用户绘制到Leaflet地图上。这允许我生成高程图。目前,如果我发出超过2个请求(每个请求限制512个位置),我总是点击OVER_QUERY_LIMIT
。
- 每天2,500个免费请求,计算方式为客户端和服务器端查询的总和;启用结算以获取更高的每日配额,每次额外收费0.50美元/ 1000美元,每天最多100,000个请求。
- 每个请求512个位置。
- 每秒50个请求*,计算方式为客户端和服务器端查询的总和。
来自Google Elevation Service Site
我知道我每天都没有达到2500个请求(可以在开发者控制台中查看已经制作了多少个请求)。我也知道每个请求肯定有512个位置,这使得唯一的配额达到每秒50个请求。
为了处理大量节点,我正在执行以下操作:
行动准则:Codepen
如果我在每个请求(比如说5秒)之间进行大量等待时间,则请求被正常发送,但从我所知道的,我应该能够每秒发送50个请求 - 所以10,000个节点的列表应该接受20个请求,理论上甚至不需要等待 - 但即使等待它也会遇到错误。
答案 0 :(得分:3)
首先查看here
的答案Google文章已经documented您目前遇到的相同问题。并给出一些solutions also
我也检查了你的Codepen。
如果您只有Google提升服务选项,那么您需要检查一些逻辑:
最后一个选项使用Google Maps API for Work执照
重要提示:请更改或使用您在codepen中使用的演示Google API密钥。因为任何人都可以使用你的钥匙。或者保护它免受Google API控制台的攻击在这些HTTP引荐来源(网站)的“接受请求”下,您可以在此限制域名的密钥。
答案 1 :(得分:1)
似乎还有另一个限制:5秒内显示1024个位置。因此,每个有512个位置的2个请求,每个在256个位置的4个请求,在128个位置的8个请求,等等,都可以工作,但是您必须等待5秒才能收到下一个请求。我认为每秒50个请求的限制仅在总位置计数为1024或更小时才会生效。