我正在尝试找到一种限制发送地理编码请求到 Google Maps API v3 地理编码器服务的速率的好方法。我知道 JavaScript 没有任何好的
每个地理编码器请求都在 jQuery 的
如何设置固定的时间间隔以等待每个
wait
或sleep
,因为它的执行是单线程的。每个地理编码器请求都在 jQuery 的
each
函数内部发送。所以,一般的代码框架是:$(xml).find('foo').each(function(){
// do stuff
...
geocoder.geocode(request, function(results, status) {/* do other stuff */});
// do more stuff
...
}
如何设置固定的时间间隔以等待每个
geocode
调用之间?如果我以JavaScript可以运行的速度发送每个请求,那么我很快就会开始收到OVER_QUERY_LIMIT
响应 - 即使我只发送20个请求。这是预期的,我正在尝试让我的客户端与Google的服务友好地互动。
我愿意尝试的另一种方法是完全放弃使用Javascript进行地理编码,并用Java编写全部内容。使用Java将非常容易在请求之间休眠。
然而,我找不到一种方法来在Java中使用Google的地理编码服务(具体来说,使用API的第3版)。GeoGoogle似乎已经过时了一年以上,并且使用的是v2。
是否可以在Java中完成,并且如何实现?