1

Android では、新しい V2 Google マップ API を使用してマーカーを簡単に追加できます。マーカーは構成の変更時またはインスタンスの保存時に再作成されるため、ID を介してマーカーを参照する必要があります。問題は、特定の ID を持つマップ マーカーを削除する方法です。

私の使用例は、マーカーをマップに追加し、その ID を実際のオブジェクトにマッピングして保存することです。次に、ユーザーがこの実際のオブジェクトの1つを削除するので、マーカーIDを見つけてマップからマーカーを削除したいのですが、私が知っている唯一の方法は、マーカーオブジェクトを持ってremove()を呼び出すことです。

4

3 に答える 3

2

構成変更時にマーカーを再作成することについてのドキュメントは間違っており、実際には私たちにとっては間違っています。

于 2013-03-25T12:01:49.827 に答える
1

また、マップのクラスタリングを行う際にも同様の状況に遭遇しました。ここでは、マーカーをクラスターに追加するときにマーカーを削除する必要があります。

私が使用した解決策は、マーカーが作成されてマップに追加されるときにマーカーへの参照を保持し、マーカーをMap (String - Marker)に格納することです。ここで、key(String) は自動生成されますマーカーID、および値はマーカーオブジェクトになります。

これで、ID によってマーカー オブジェクトへの参照を取得し、そのマーカーでremove()を呼び出すことができます。

これがお役に立てば幸いです。

于 2013-02-28T17:01:34.810 に答える
0

単純に次のことを試してください。

private Marker myMarker;

myMarker = getMap().addMarker(new MarkerOptions()
                    .position(latLng)
                    .title("My Spot")
                    .snippet("This is my spot!"));

削除したいマーカーを呼び出すことができます

myMarker.remove();
于 2013-02-28T15:25:51.693 に答える