【问题标题】:Avoid over_query_limit license避免 over_query_limit 许可证
【发布时间】:2018-02-07 01:35:43
【问题描述】:

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

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

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

根据这个问题以及 google 提供的不同计划和资费,哪些可以帮助我主要解决这两个问题?

【问题讨论】:

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


    【解决方案1】:

    高级计划和标准计划的客户端每次会话限制相同。您可以执行 10 个初始请求,然后每秒执行 1 个请求。

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

    每个会话的速率限制会阻止将客户端服务用于批量请求,例如批量地理编码。 对于批量请求,请使用 Google Maps Geocoding API 网络服务。

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

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

    查看文档了解更多详情

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

    【讨论】:

    • 主要问题是服务器端在SAP平台上,而不是ABAP语言,据我了解abap不能使用这种类型的API。所以我不知道该怎么做,我真的不知道购买 QPS 是否可以解决地理编码和地址的问题:(
    猜你喜欢
    • 2019-01-15
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    相关资源
    最近更新 更多