从mapView中删除叠加层

时间:2011-05-04 07:01:51

标签: android maps android-mapview overlays

我在mapView中创建叠加层,问题是当我再次回到mapsview活动时,我会看到我之前创建的叠加层。我试图删除ondestroy方法中的叠加层,它没有帮助。全部,请相信me.heres代码...同样在onCreate()我使用了mapView.invalidate();这也没有帮助。我只是想在活动结束时摆脱覆盖。任何解决方案?

   @Override
protected void onDestroy(){ 
    super.onDestroy();
    stopWorker=true;
    mapView.invalidate();
    mapView.postInvalidate();
    for (int i=0; i<mapView.getOverlays().size(); i++ ) {
        mapView.getOverlays().remove(i);
    }

    Toast.makeText(this,"map destroy ...", Toast.LENGTH_LONG).show();
    mapView.getOverlays().clear();
}

2 个答案:

答案 0 :(得分:6)

好像你的活动没有完成。只有在Activity完成后,它才会进入onDestroy状态。尝试在onPause()或onResume()中编写相同的代码。

答案 1 :(得分:2)

活动结束后会自动删除叠加层。您的代码中还有其他一些错误。例如,您可能通过按HOME来测试它,这不会触发onDestroy()