我使用下面的代码添加了半径圆圈。但我想删除所有添加的圈子。 另外,我想限制绘制圆圈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);
}
}
答案 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();
}
}