新しいGoogleMapsV2を使用するアプリを実行しています。マップカメラが移動すると、ポイントを新しいカメラ位置にリロードする必要があります。非同期タスクを使用して実行します。
問題は、カメラの位置を複数回移動すると、アプリがポイントを複数回ロードすることです。そのため、カメラを動かしたときに非同期タスクをキャンセルし、タスクがキャンセルされるまで新しいポイントをロードしません。私はそれを行うための空のwhileループを持っています、それを行うためのより良い解決策はありますか?
// LOAD NEW POIS ASYNC
private void updatePoisInMap( ){
....
if (refresh_pois_async != null) {
refresh_pois_async.cancel(true);
while (!refresh_pois_async.isCancelled()) {
}
}
refresh_pois_async = new RefreshPoisAsync( ).execute( lowerLeftCorner, topRightCorner);
}