如何删除地图上的所有圆圈

时间:2014-04-12 19:12:50

标签: android

我使用下面的代码添加了半径圆圈。但我想删除所有添加的圈子。 另外,我想限制绘制圆圈3或4圈。

@Override
        public void onMapClick(LatLng point) {
        CircleOptions circleOptions = new CircleOptions()
        .center(point)   //set center
        .radius(500)   //set radius in meters
        .fillColor(Color.TRANSPARENT)  //default
        .strokeColor(Color.BLUE)
        .strokeWidth(5);

        for(int i=0 ; 0 < 3 ; i++){
         myCircle = myMap.addCircle(circleOptions);
}
}

1 个答案:

答案 0 :(得分:1)

我认为这应该可以解决问题。创建一个跟踪您添加到地图的所有圆圈的arraylist,并在想要从地图中删除圆圈时调用DeleteCircles()。

public class CustomMapFragment{

static List<Circle> mCircleList;

@Override
public void onMapClick(LatLng point) {

    if (mCircleList==null){
            mCircleList = new ArrayList<Circle>();
    }

    CircleOptions circleOptions = new CircleOptions()
    .center(point)   //set center
    .radius(500)   //set radius in meters
    .fillColor(Color.TRANSPARENT)  //default
    .strokeColor(Color.BLUE)
    .strokeWidth(5);

    if (mCircleList.size()<3){
    Circle mCircle = myMap.addCircle(circleOptions);
    mCircleList.add(mCircle)
    }
}

public void deleteCircles(){

    for (int i = 0 ; i <= mCircleList.size() -1; i++){
    Circle mCircle = mCircleList.get(i);
    mCircle.remove();
    }
    mCircleList.clear();
}
}