アクティビティ レベルで定義された ArrowOverlays という名前のリスト変数があります。Googleマップビューの周りに矢印を移動する次のメソッドがあります...
private void moveTheArrow(GeoPoint whereTo)
{
if (ArrowOverlays.isEmpty() == false)
{
ArrowOverlays.clear(); //this gets a NullPointer exception
}
myMapView.getOverlays().clear(); //this works but clears all overlays
ArrowOverlays = myMapView.getOverlays();
Drawable drawable = getResources().getDrawable(R.drawable.arrow);
myItemizedOverlay itemizedoverlay = new myItemizedOverlay(drawable, PSContext);
GeoPoint point = whereTo;
OverlayItem overlayitem = new OverlayItem(point, "string1", "string2");
itemizedoverlay.addOverlay(overlayitem);
ArrowOverlays.add(itemizedoverlay);
}
これに加えて、マップビューにいくつかのオーバーレイがあります。私がやりたいのは、ArrowOverlays.Clear() 命令で ArrowOverlays をクリアすることですが、nullpointer 例外で吹き飛ばされます。なぜこれが起こっているのかわかりません。MapView.GetOverlays().Clear() は正常に機能しますが、マップ上のすべてのオーバーレイがクリアされます。ArrowOverllays コレクションだけをクリアするにはどうすればよいですか? ありがとう、ディーン