0


这是我的课程:
http ://wklej.org/id/840949/ - ShopMapActivity
http://wklej.org/id/840950/ - CustomMapView
我试图根据缩放绘制不同数量的点。因此,如果缩放低于 9,它应该只绘制代表引用的点。当您放大并且缩放级别高于 9 时,它应该绘制该区域内的所有点。当活动开始时,只有代表城市的点(这很好),当我放大到 9 缩放级别时,在那个区域会出现额外的点(这也很好),但是当我从那个状态缩小时,额外的点不会'不会消失,即使我正在清理地图:

            mapOverlays.clear();        
            mapView.getOverlays().clear();
            mapView.invalidate();
            mapView.postInvalidate();
4

1 回答 1

1

您忘记清除 itemizedOverlay。您正在将其从活动叠加层列表中删除,但随后您重复将相同的点添加到 itemizedOverlay(它们已经在其中),然后将其添加到活动叠加层中。

最重要的是,只需将以下内容添加到您的代码中:

itemizedoverlay.clear();

行后:

mapView.getOverlays().clear();

如果您没有在 itemizedOvelay 中创建方法 clear(),那么是时候创建它了。

祝你好运。

于 2012-10-04T22:41:33.087 回答