2

我正在使用标记拖动在谷歌地图 v2 中绘制折线,这是我的代码

int startDraw = 1;
Polyline polyline;
List<LatLng> lineCordinates = new ArrayList<LatLng>();
List<Polyline> polylines = new ArrayList<Polyline>();

@Override
public void onMarkerDrag(Marker marker) {
    // startDraw == 0 --> stop draw
    // startDraw == 1 --> start draw

if (startDraw == 1) {

    Integer markerId = markerMapHash.get(marker);

    if (markerId == null) {
        markerId = 1;
    }

    if (markerId == 1) {
        lineCordinates.add(marker.getPosition());

    }


    for (int i = 0; i < lineCordinates.size(); i++) {

        polyline = myMap.addPolyline(new PolylineOptions()
        .addAll(lineCordinates)
        .width(lineWidth)
        .color(lineColor));

        polylines.add(polyline);

    }
    }

   }


@Override
public void onMarkerDragEnd(Marker marker) {
    lineCordinates.clear(); 
    if (startDraw == 1) {
        startDraw = 0;
    }else{
        startDraw = 1;
    }

   }

并删除所有折线,这是按钮 onClick 中的代码

 for(Polyline line : polylines){
  line.remove();
}
polylines.clear();

现在我想删除特定的折线,我该怎么做?希望有人可以帮助我。提前致谢。

4

1 回答 1

5

我以前从未弄乱过这段代码,但我假设您只需要检查是否line与您正在寻找的特定折线匹配,然后将其删除。像这样的东西:

for(Polyline line : polylines)
{
    if (isSpecificPolyline(line))
        line.remove();
}
于 2013-08-20T17:45:37.813 回答