Google Maps API v3 ジオコーダ サービスにジオコード リクエストを送信する速度を制限する良い方法を見つけようとしています。Javascript にはいいところがないこと、wait
またはsleep
その実行が当面シングルスレッドであるためであることは知っています。
各ジオコーダー リクエストは、jQueryeach
関数内で送信されます。したがって、一般的なコードの骨組みは次のとおりです。
$(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 のジオコーディング サービスを (具体的には、バージョン 3 の API を使用して) 使用する方法が見つかりませんでした。GeoGoogleは 1 年以上古いようで、v2 を使用しています。
Javaでそれを行うことはできますか?