0

オーバーレイの場所を変更するにはどうすればよいですか。ここで、1つの方法は、元のオーバーレイを削除して、新しいオーバーレイを描画することです。これを行うと、その後に描画されるすべてのオーバーレイのインデックスが変更されます。

私のアプリケーションでは、各オーバーレイは特定のIDを持つユーザーを表します。このユーザーが移動したとき、私は彼の場所を更新する必要があります。リストからオーバーレイを削除すると、このユーザーのオーバーレイを見つけるために使用しているハッシュマップが使用できなくなります。

どうすればこれを行うことができますか?

4

2 に答える 2

0

私が正しく理解している場合は、オーバーレイポイントを変更してから、MapView.invalidateを呼び出すことができます。

于 2011-10-23T19:17:21.927 に答える
0

私が知る方法はありません。あなたは簡単にできます

     // remove the old key association 
     hMap.remove(idForOverlay);
     // add a new one
     hMap.put(idForOverlay, newOverlayItem);
     // add item to the overlays
     mapView.getOverlays().add(newOverlayItem);
     mapView.invalidate();

実際には、remove()を実行する必要はなく、put()は、現在の関連付けを、新しく追加されたキーとの関連付けに置き換えます。現在の関連付けはオブジェクトとして返されます

于 2011-10-24T03:37:59.367 に答える