Google Maps API v3、GWT 2.5.1 で 5 つの異なるルートを描画したいと考えています。このクラスでDirectionDisplay
andを設定するルートを初期化します。DirectionsRequest
Web プロジェクトを開始すると、最初のルートだけが表示されることもあれば、5 つすべてが表示されることもあるので、System.out.print(m)
; を作成することにしました。
結果:
01234 -> 予想どおり、すべてのルートが表示されました
10234 -> エラー、最初のルートのみ表示。
Google が最初のリクエストの前に 2 番目のリクエストを処理するのはなぜですか? リクエストが順番に戻ってくる時間を確保するために使用しようとしましThread.sleep(1000)
たが、Timer/TimerTasks も成功しませんでした。何か案は?
DirectionsService o = DirectionsService.newInstance();
for (Integer i = 0; i < 4; i++) { //routes.size()
final int m = i;
final Route route = new Route("Route " + i.toString());
route.initRoute(m, getRoutingPresenter(), adressData, addressIndex);
//here i initialize the DirectionsRequests and its Displays, which
//i set in this class after execution.
o.route(directionsRequest, new DirectionsResultHandler() {
@Override
public void onCallback(DirectionsResult result,DirectionsStatus status) {
if (status == DirectionsStatus.OK) {
System.out.print(m);
...
}
}
);
}
}