我有一个应用程序需要一次对大量地址进行地理编码(~1500)。我正在使用 Javascript Google Maps API Library v3 来检索纬度和经度,并将信息存储在 MySQL 数据库中以供以后使用。
显然这需要一段时间。我的代码将地址放入数组中,然后在数组上调用递归函数。该函数获取每个地址并尝试对其进行地理编码。如果地理编码成功,则函数继续使用下一个地址。如果地理编码返回ZERO_RESULTS
,则函数继续下一个地址。如果地理编码返回OVER_QUERY_LIMIT
,该函数将setTimeout
暂停一段时间(存储在 中var timeout
,然后再次重试。
现在我尝试了许多不同的值timeout
,它们的工作效果不同。最好的可能是2000
,或两秒,这使我能够对大约 365 个地址进行地理编码。但是,一旦程序编码了大约 250 个地址,它就会完全减速,直到每 10 秒编码 1 个地址。
所以..有谁知道如何加快这个过程?OVER_QUERY_LIMIT
我目前还有一个计数器,用于检查在同一地址上调用函数的次数(以跟踪在编码地址之前收到了多少错误)。我是否应该正常延迟 2 秒,然后如果同一个地址收到OVER_QUERY_LIMIT
10 次,延迟 30 秒或什么?
任何帮助深表感谢!干杯