【问题标题】:Removing overlays from mapView从 mapView 中删除覆盖
【发布时间】:2011-05-04 07:01:51
【问题描述】:

我在 mapView 中创建了叠加层,问题是当我再次回到 mapsview 活动时,我看到了我之前制作的叠加层。我试图在 ondestroy 方法中删除没有帮助的覆盖。尝试了所有,相信我。这里的代码......也在 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();
}

【问题讨论】:

    标签: android maps android-mapview overlays


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-24
        • 1970-01-01
        相关资源
        最近更新 更多