可以向 Google Maps API 发出多少请求而不被禁止?

Posted

技术标签:

【中文标题】可以向 Google Maps API 发出多少请求而不被禁止?【英文标题】:How many requests can be made to Google Maps API without being banned? 【发布时间】:2011-04-05 10:21:53 【问题描述】:

我正在通过 Google Maps API 使用自动建议地址,我希望尽可能快。

目前,我在脚本中添加了 10 毫秒的延迟,以避免因请求过多而被禁止。这是必要的吗?可以发出多少请求而不会被禁止?

附:我想要一些合适的标签,我真的想不出什么好东西。

【问题讨论】:

无论如何,Windows 不会为您提供比 15 毫秒更好的分辨率。这似乎太快了;你试过100ms的界面感觉吗?此外,当某人打字相当快时,他们很可能没有注意自动提示。也许您还可以监控击键,并仅在击键间隔超过 250 毫秒时尝试自动建议。 API 增加了一些额外的延迟,API 也是如此,我对 javascript 还很陌生,并试图削减定制化的低端成果。您可以在dev.resihop.nu 上的两个 topp 文件(till 和 från)中的任何一个中尝试该脚本,由于某种原因,它现在仅适用于 webkit(可能还有 IE)... 它实际上对我来说似乎工作得很好(linux上的google chrome)。但是,我不是一个很好的可用性测试对象,因为我是一名网络开发人员。 我相信它会变慢,该字段中的值必须包含该下拉列表中的地址才能进行验证,并且很多人在建议框出现之前完成输入并转到下一个输入. 【参考方案1】:

我不确定我是否完全理解您的问题。但无论如何,Google Maps 与大多数其他 API 一样,对您每天允许执行的请求数量有限制:

对于普通用户提出的地理编码请求,每个 IP 每天有 2,500 个请求的限制,请参阅here。 如果您是高级用户,则限制为每个 IP 每天 100,000 个请求,但是,使用 Javascript API 或 Flash Maps API 时,您有 15,000 个请求/天的限制,请参阅here。

至于同时请求太多,因为这取决于谷歌在他们的服务器上允许的负载(可能会改变)我建议你按照谷歌在上述文档中的建议进行操作。

尽可能多地查询,当您收到620 error code 时,会降低您的请求速度。如果您这样做,您将能够动态确定他们将允许您在任何给定时间内执行多少请求。

除非有人可以为您提供硬性限制... 我知道高级用户常见问题解答中指定的硬限制据说是 10 个请求/秒:

“这些限制适用于每个 Maps API Premier 客户端 ID,并且必须在使用给定客户端 ID 的所有应用程序和 IP 地址之间共享。还有每秒 10 个请求的速率限制适用于所有 Google Maps API 网络服务. 如果您需要更高的使用限制,请联系您的 Maps API Premier 客户经理以获取购买信息。”

【讨论】:

【参考方案2】:

自 @Asaf 于 2010 年 8 月 29 日回答该问题以来,此信息可能已发生变化,当然对于普通用户(非高级用户)而言,因为有更新于 2011 年 10 月 1 日生效,以使用 Google Maps API。这些是new limits for non-Premier users

从 2011 年 10 月 1 日起,商业 网站和使用地图的应用程序 可以免费生成 API:

如果使用样式化地图功能进行修改,则每天最多 2,500 个调用 每天最多可拨打 25,000 次电话

目前网站可以生成的基于 Web 的 JavaScript 或 Flash 地图的数量没有限制。 Google Maps API Web Services 和 Google Static Maps API 确实在其文档中指定了每日限制。还有

被视为符合公共利益的非营利组织和应用程序(如 由谷歌自行决定)不受这些 交易限额。

符合公共利益的申请标准如下。

此外,Google 表示,如果您超过使用限制,您的应用不仅会停止工作,而且如果您的网站符合并持续超过免费使用限额,“Maps API Premier 销售经理”会与您联系。

最终建议:GeoCoding Strategies section 适用于普通用户,其中提到了在被标记之前提交请求的频率,以及缓存的使用、服务器端请求等自 2010 年 6 月以来未更新. 可能值得一看那个链接。 @Asaf 没有在他的(非常好的答案)中特别包含它,尽管我在他确实提供了 URL 的页面上找到了它。

【讨论】:

感谢您更新此答案,他们似乎更改了大部分费率和限制。 Diff @Asaf 欢迎您。看起来谷歌现在正处于一个真正的变化状态,产品在变化,弃用,API 的条款在变化,甚至在开发人员或帮助页面上的相同内容的新 URL!我想他们需要时间才能将它们重新组合在一起。【参考方案3】:

查看以下有关 Google Map Api 使用限制的 Google 文档:

https://developers.google.com/maps/documentation/business/faq#usage_limits

https://developers.google.com/maps/documentation/business/articles/usage_limits

http://maps.google.co.in/help/maps/getmaps/compare.html

【讨论】:

以上是关于可以向 Google Maps API 发出多少请求而不被禁止?的主要内容,如果未能解决你的问题,请参考以下文章

Google Maps Geocoding API 使用限制

向 Google Maps API InfoWindow 中的元素添加事件

Flutter:如何使用新的 Marker API 向 Google Maps 添加标记?

如何在google maps api中为省或某个城市提供一些颜色?

使用 Google Maps Javascript API V3 反向地理编码检索邮政编码

如何使用 Google Maps API v3 突出显示地址?