【问题标题】:Google Maps geocoding query limit difference between v2 and v3谷歌地图地理编码查询限制 v2 和 v3 之间的差异
【发布时间】:2011-04-28 10:30:11
【问题描述】:

当我在 v2 中执行客户端地理编码请求时,我能够以 200 毫秒的间隔连续执行大量请求。但在 v3 中,我必须将间隔增加到 2 秒以避免 OVER_QUERY_LIMIT 错误。这意味着在 Maps v3 中我的地理编码会慢很多。

Maps API v2 和 v3 之间的这种差异对我来说似乎很奇怪。有没有其他人也遇到过这个问题,还是只有我一个人?页面其余部分使用 v3 时,有什么方法可以使用 v2 地理编码器?

PS。我最关心的是反向地理编码(latlng->地址),它比正常的地理编码还要慢。

【问题讨论】:

    标签: google-maps-api-3 geocoding google-maps-api-2


    【解决方案1】:

    我在申请中所做的就是尽可能快地做尽可能多的事情。每当我达到 OVER_QUERY_LIMIT 时,我都会让我的线程休眠 5 秒钟,然后再试一次。这很好用。我做了一些尝试来找出它可以处理多少个查询,似乎短时间内 10 个查询是极限。那你得等一会儿。

    我认为不可能同时使用这两个 API,因为您必须同时包含这两个 .js 文件,而且肯定会有一些名称相同的东西,这会导致您无法做到的行为预测。

    我可以说的一件事是,如果您必须在客户端执行所有操作,那么您似乎做错了什么。您是否可以将位置存储在数据库或其他东西中,然后只在有新事物出现时进行查找?

    【讨论】:

    • 是的,这就是我目前使用的策略:在达到 OVER_QUERY_LIMIT 后再次尝试。是的,我确信服务器端缓存会有所帮助,但问题是,使用 v2 不需要这样的缓存,地理编码速度提高了 10 倍。 PS。我应该注意到我最关心的是反向地理编码,它似乎比正常的地址->纬度地理编码要慢。
    • 在第 2 版中,您还必须定义一个键,向 Google 显示所有请求都来自您的站点,并且每个站点都会限制他们一天内可以发出的请求。在新版本中没有密钥,我认为这是他们不再允许您发出尽可能多的请求的原因之一,因为请求将从客户端 IP 发出,然后您可以在期间发出更多请求来自不同IP的一天。但这只是我的猜测:)
    • 我在 v2 中的经验是,客户端地理编码限制按客户端计算,而不是按 API 密钥计算 - 这是我们在客户端执行此操作的主要原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多