我在活动级别定义了一个名为 ArrowOverlays 的列表变量。我有以下方法可以在谷歌地图视图周围移动箭头......
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,但它会出现空指针异常。我不知道为什么会这样。MapView.GetOverlays().Clear() 工作正常,但它会清除地图上的所有叠加层。如何仅清除 ArrowOverllays 集合?谢谢,院长