0

2 つのオーバーレイがあります。1 つはマップにマーカーを配置するための (ItemizedOverlay) で、もう 1 つはソースから目的地までのルートを描画するための (オーバーレイ) です。地図上のマーカーの変化に対して、地図上にルートを描くのは問題ありません。しかし問題は、以前に描いたルートを消去して新しいルートを描くことができないことです。

やってみmapView.getOverlays().clear()ました。しかし、マーカーとルートの両方を消去しています。

mapview 用に定義された 2 つのオーバーレイから 1 つのオーバーレイ オブジェクトを取得する可能性はありますか?

4

1 に答える 1

0

mapView.getOverlays()使用されているのリストを返しますOverlay。そのリストから1 つを削除Overlayして、もう 1 つを残すことができます。

Overlay itemizedOverlay, overlay; //you need an instance of the overlays

List<Overlay> overlays = mapView.getOverlays();
overlays.remove(itemizedOverlay);

Overlayまたは、リスト内のインデックスがわかっている場合:

int myOverlayIndex; //the index of your Overlay in the list

List<Overlay> overlays = mapView.getOverlays();
overlays.remove(myOverlayIndex);
于 2012-07-01T10:58:11.630 に答える