2017-05-05 4 views
0

私のアプリでは、複数のマーカーをマップに追加できます。これらのマーカーはarraylistに保存されます。ユーザーがマップに新しいマーカーを追加するたびに、非常に短い時間が経過した後で地図から削除されることがあります。マーカーが置かれたいくつかの他の時間。Android Google Maps v2:続行する前に機能が完了していることを確認してください

それの要旨はremoveIcons()(drawIcons後にまだ忙しいと仕上げです)

removeIcons(); 

//Redraw icons 
drawIcons(); 

は、アイコンを削除することで、単純である:

private void removeIcons() { 
    for (Marker iconMarker : iconMarkers) { 
    iconMarker.remove(); 
    } 
} 

質問:どのように私は確認してくださいdrawIconsを呼び出す前にremoveIconsを終了しますか?

答えて

0

シンプルです。

1つのアイコンを追加/削除するだけで、すべてのアイコンを削除してからすべてのアイコンを再追加しないでください。

これは非常に効率が悪いです。

リストを追跡し、マーカーを1つ追加して描画し、完了します。

Googleマップビューは別のスレッドで描画を処理し、コードが実行されている間にそのスレッドを実行できるため、問題が発生しています。この行動を悲しいほどに止めることはできません。

+0

ありがとうございました。私はそうでなければマーカーを取り除くことができませんでした。私はこのルートを試してみる – Fullhdpixel

関連する問題