2011-05-01 37 views
0

如何为我的覆盖物品android做一个循环!以及如果我想通过使用mapView.getOverlays()移除其中的一个,remove(p); !它不工作,为什么?这里是代码如何在myoverlay物品上制作一个循环

enter code here 
public void addOverLays(){ 
String [] coordinates = {"31.216487288475037","29.932637214660645" ,"30.084123015403748", "51.5002" , "-0.1262","31.337149143218994"}; 
double lat = 30.084686279296875,lat2 = 51.5002,lat3=29.987091422080994; 
double log = 31.33642494678493, log2 = -0.1262,log3=31.43909454345703; 

p = new GeoPoint((int) (lat * 1E6), (int) (log * 1E6)); 
p2 = new GeoPoint((int) (lat2 * 1e6), (int) (log2 * 1e6)); 
p3=new GeoPoint((int) (lat3 * 1e6), (int) (log3 * 1e6)); 
mapOverlays = mapView.getOverlays(); 
drawable = this.getResources().getDrawable(R.drawable.pushpin); 
drawable2 = this.getResources().getDrawable(R.drawable.ballon); 
drawable3 = this.getResources().getDrawable(R.drawable.ballon); 

itemizedOverlay = new HelloItemizedOverlay(drawable,this); 
itemizedOverlay2 = new HelloItemizedOverlay(drawable2,this);   
itemizedOverlay3 = new HelloItemizedOverlay(drawable3,this);  
OverlayItem overlayitem = new OverlayItem(p, "Cairo", " over1"); 
OverlayItem over2 = new OverlayItem(p2, "ulm", "over2"); 
OverlayItem over3 = new OverlayItem(p3, "offff", "over3"); 

itemizedOverlay.addOverlay(overlayitem); 

mapOverlays.add(itemizedOverlay); 

itemizedOverlay2.addOverlay(over2); 
mapOverlays.add(itemizedOverlay2); 

itemizedOverlay3.addOverlay(over3); 
mapOverlays.add(itemizedOverlay3); 
mc.setZoom(17); 
mc.animateTo(p); 

}

+0

将您的覆盖项目添加到ArrayList中,然后遍历它 – 2011-05-01 22:22:52

回答

0

添加叠加确实在你的代码的工作 - 如果你的意思是你看不到任何变化,那么你必须调用MapView.invalidate()将它重新用新添加的覆盖物绘制自己。删除叠加层时也是如此。