根据缩放绘制不同数量的点(android)

时间:2012-10-04 14:32:44

标签: android map android-mapview


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

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

1 个答案:

答案 0 :(得分:1)

您忘了清除itemizedOverlay。您正在从活动的ovelays列表中删除它,但是然后重复向itemizedOverlay添加相同的点(它们已经在那里)并且您将它添加到活动的叠加层。

底线,只需在代码中添加以下内容:

itemizedoverlay.clear();

行后:

mapView.getOverlays().clear();

如果你没有在itemizedOvelay中创建方法clear(),那么就该开始了。

祝你好运。