2017-08-29 35 views
-1

我目前有一个基于phonehap cordova的应用程序,并利用google mpas的地图和服务。避免over_query_limit许可

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

但是,此超时或setTimeout会导致应用程序通过执行我们已知的这些进程而放慢速度。

根据这个问题以及谷歌提供的不同计划和关税,他们可以为我提供哪些服务来主要解决这两个问题?

回答

0

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

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

按会话速率限制可防止对批处理请求使用客户端服务,如批处理地理编码。 对于批量请求,请使用Google地图地理编码API Web服务。

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

为了解决你应该创建服务器端代码和调用Web服务,文件中提出的问题。通过Web服务,您可以在标准计划中免费获得50 QPS和2500免费日常请求(启用计费的每日100K请求)。有了Premium计划,没有每日限制,你也有50 QPS。

看一看文档的进一步细节

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

+0

的主要问题是,在服务器端是SAP平台上,而在ABAP语言,据我了解ABAP不能食用这种类型的API。所以我不知道该怎么做,我真的不知道购买QPS是否可以解决地理编码和地址问题:( –