优化网络服务用量

重要提示:Google Maps Platform 高级计划不再开放注册,也不再提供给新客户。

概览

如果您的应用超出 Google Maps Platform 网络服务的用量限额,服务将返回错误消息。如果您的应用持续超出用量限额,系统可能会阻止它访问网络服务,在某些情况下,您的应用会收到“403 Forbidden”响应。

如果应用的网络服务请求收到错误消息,您可以通过优化应用来更高效地使用网络服务,从而降低使用量。

准备工作

在优化您应用的网络服务用量之前,请检查您是否为用例使用了正确的服务,以及使用的 Maps API 许可是否正确。

验证您的用例

Google Maps Platform 网络服务最适合不需要用户实时输入或不使用网络浏览器的应用。例如,如果您的应用使用独立于用户输入的数据集(例如,需要进行地理编码的房地产网站上的一组固定地址),您应使用网络服务。

请注意,使用网络服务时,您的高级计划许可存在每秒查询次数 (QPS) 限制,不论请求来自多少个 IP 地址,都是如此。

另一方面,可以通过 Maps JavaScript API 使用的客户端服务按浏览器会话设定速率限制,请求分布于所有用户中,并会随用户数量的增长而扩展。因此,客户端服务最适合实时对用户输入的地址进行地理编码的应用,例如,供用户搜索家庭住址附近商店的店铺定位工具。

如需详细了解何时使用网络服务,请参阅地理编码策略。尽管该文档专门针对地理编码,但其中的建议适用于所有网络服务。该文档说明了何时应使用服务器端网络服务以及何时应使用客户端网络服务。

如何优化网络服务用量

为了更高效地使用网络服务,您可以通过以下两种方式降低用量:仅在需要时发送请求和均衡使用以使其不超过限额。

缓存结果

Google Maps Platform 服务条款第 3.2.3.a 和 b 条规定,除了条款中规定的符合有限条件的内容之外,您不得预先提取、存储、缓存任何内容以及将其编入索引。

请注意,用于唯一标识地点的地点 ID不受缓存限制。因此,您可以无限制地存储地点 ID 值。

限制请求数量

如要避免超出用量限额,您可以将应用配置为限制请求数量,具体方法是将请求置于可跟踪其发送时间的队列中。如果您的应用收到一个超出 QPS 限额的请求,它应检查第一个请求的时间戳,并等待 1 秒。

即使进行了限制,应用可能仍会收到状态代码为 OVER_QUERY_LIMIT 的响应。请配置您的应用以插入短暂延迟(20 毫秒),如果应用收到此类响应,请再试一次。