避免使用over_query_limit许可证

时间:2017-08-29 14:29:31

标签: google-maps cordova google-maps-api-3 phonegap

我目前有一个基于phonehap cordova的应用程序,并使用谷歌mpas的地图和服务。

其中一些服务是地理编码和路线服务,地理编码我在对超过250个地址进行地理编码时遇到了“超出查询限制”的问题,所以我不得不实施SetTimeout的使用并且延迟时间不发送更多每秒10或20个请求。与地理编码一样,使用服务Directions Service,在该服务中,路线在地图上进行,有时还会抛出错误“Over_query_limit”,这样在每个路由请求中也会产生setTimeout或超时。

但是这个超时或setTimeout会导致应用程序因为我们已经知道的事情而执行这些过程而变慢。

根据这个问题,谷歌提供的不同计划和关税中哪些可以帮助我主要解决这两个问题?

1 个答案:

答案 0 :(得分:0)

每个会话的客户端限制与Premium和Standard计划相同。您可以执行10个初始请求,然后每秒执行1个请求。

  

无论有多少用户共享同一项目,每个用户会话都会应用速率限制。首次加载API时,将为您分配初始请求配额。使用此配额后,API会按每秒对其他请求强制执行速率限制。如果在特定时间段内发出的请求太多,则API会返回OVER_QUERY_LIMIT响应代码。

     

每会话速率限制可防止对批处理请求(例如批量地理编码)使用客户端服务。 对于批量请求,请使用Google Maps Geocoding API网络服务。

https://developers.google.com/maps/documentation/javascript/geocoding#UsageLimits

为了解决这个问题,您应该按照文档中的建议创建服务器端代码并​​调用Web服务。使用网络服务,您将在标准计划中免费获得50个QPS和2500个免费请求(每天100K请求,并启用计费)。有了Premium计划,没有每日限制,你也有50 QPS。

查看文档以获取更多详细信息

https://developers.google.com/maps/documentation/geocoding/usage-limits