Javascript Google Maps API v3地理编码超过查询限制

Javascript Google Maps API v3地理编码超过查询限制,javascript,google-maps-api-3,geocoding,Javascript,Google Maps Api 3,Geocoding,我有一个应用程序,需要一次对大量地址进行地理编码(~1500)。我正在使用JavaScriptGoogleMapsAPI库v3检索纬度和经度,信息存储在一个MySQL数据库中供以后使用 显然这需要一段时间。。我的代码将地址放入一个数组中,然后对该数组调用递归函数。该函数获取每个地址并尝试对其进行地理编码。如果地理编码成功,该功能将继续下一个地址。如果地理编码返回ZERO\u结果,则该函数将继续下一个地址。如果地理代码返回超过查询限制,则该函数使用设置超时暂停设定的时间量(存储在变量超时中),然后

我有一个应用程序,需要一次对大量地址进行地理编码(~1500)。我正在使用JavaScriptGoogleMapsAPI库v3检索纬度和经度,信息存储在一个MySQL数据库中供以后使用

显然这需要一段时间。。我的代码将地址放入一个数组中,然后对该数组调用递归函数。该函数获取每个地址并尝试对其进行地理编码。如果地理编码成功,该功能将继续下一个地址。如果地理编码返回
ZERO\u结果
,则该函数将继续下一个地址。如果地理代码返回
超过查询限制
,则该函数使用
设置超时
暂停设定的时间量(存储在
变量超时
中),然后重试

现在我已经尝试了许多不同的超时值,它们的工作效率不同。最好的可能是
2000
,或者两秒钟,这样我可以对365个地址进行地理编码。但是,一旦程序编码了大约250个地址,它的速度就会完全减慢,达到每秒钟编码一个地址的程度10秒

那么..有人知道如何加快这个过程吗?我目前还有一个计数器,它可以检查在同一地址上调用函数的次数(跟踪在地址编码之前收到多少超过查询限制的
错误).我是否应该正常延迟2秒,然后如果同一地址收到
超过查询限制
10次,延迟30秒或其他

非常感谢您的帮助!
干杯

您可以支付更高的限制或使用不同的地理编码提供商

我在SmartyStreets工作,一家这样的提供商,那里没有请求限制。在云中扩展。1500个地址与我们习惯于地理编码的数千万和数亿个地址相比不算多。当然,我会让你自己做研究,但如果你是这样的:

var addr = {
    street: "7584 E Big Canyon Dr.",
    zipcode: "92808"
};

// If you don't have the address in component form, you could just pass
// in a string containing the entire address instead.

LiveAddress.geocode(addr, function(geo) {
    alert("The address is at: " + geo.coords);
});

通过地理编码Web服务进行的服务器端地理编码的配额为每天每IP 2500个请求,因此一天内的所有请求都计入配额。此外,Web服务是速率限制的,因此传入的请求过快会导致阻塞。通过浏览器进行的客户端地理编码的速率限制为每个映射会话,因此ding分布在您的所有用户中,并随您的用户群进行扩展。地理编码配额和速率限制推动了本文中概述的策略。此外,这可能有助于: