0

我在活动级别定义了一个名为 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 集合?谢谢,院长

4

0 回答 0