使用 Google Maps JavaScript API v3 进行客户端地理编码有哪些限制?
我的研究:
- Google Maps PHP API 每天的地理编码请求限制为 2500 个(https://developers.google.com/maps/documentation/geocoding/#Limits https://developers.google.com/maps/documentation/geocoding/#Limits)
- Google Maps Javascript API v3 的限制为 25000地图加载每天 (https://developers.google.com/maps/documentation/javascript/usage https://developers.google.com/maps/documentation/javascript/usage)
- Google 建议使用 javascript API 进行地理编码,以避免通过 PHP API 的 2500 限制。它指出“运行客户端地理编码,您通常不必担心您的配额”(https://developers.google.com/maps/articles/geocodestrat#client https://developers.google.com/maps/articles/geocodestrat#client)
然而,任何文档中都没有说明 Google Maps JavaScript API v.3 的地理编码限制。
(这个问题困扰我有一段时间了,我不止一次地研究过这个问题,但未能找到可靠的答案)
我在 Google 的 Maps for Business 支持部门工作。以下是我个人的观点,不代表谷歌的观点,但只能说我对这个话题相当熟悉!
首先,区分很重要客户端地理编码 https://developers.google.com/maps/documentation/javascript/geocoding(JavaScript 调用 google.maps.Geocoder)和服务器端地理编码 https://developers.google.com/maps/documentation/geocoding/index(对 /maps/api/geocode 的 HTTP 请求)。这个问题和答案专门涉及客户端地理编码;有关服务器端限制,请参阅here https://developers.google.com/maps/documentation/geocoding/index#Limits。特别是,经常提到的每个 IP 每天 2,500 个请求限制适用only到服务器端地理编码,而不是客户端。
所以简短的回答是,没有专门针对客户端地理编码的记录查询限制。一旦客户端加载了 Google Maps JavaScript API 库,它就可以发出任意数量的地理编码请求,只要它们以合理的速度完成即可。确保您不会遇到问题的两条经验法则:
- 响应用户交互启动地理编码,即使有短暂的请求突发(例如,单击按钮对多个地址进行地理编码),您也会没事的。
- 捕获任何 OVER_QUERY_LIMIT 错误并妥善处理它们(例如指数退避)。Here https://developers.google.com/maps/documentation/business/articles/usage_limits#limitexceeded是一些 Python 示例代码。
但请不要尝试忙循环地理编码器或连续数小时敲击它,有防止滥用的保护措施。
UPDATE
截至 2017 年,客户端配额是根据相应的 Web 服务配额计算的。请看看 Christophe Roussy 的回答。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)