【问题标题】:Removing PolyLine from googlemaps v2从 googlemaps v2 中删除折线
【发布时间】:2012-12-26 16:47:10
【问题描述】:

我正在尝试从GoogleMaps V2 中删除一条折线

在标记拖动时,我想将从上一个标记绘制的折线更改为拖动的标记,

这是用于标记拖动的类,但在其中如何删除折线?

 mMap.setOnMarkerDragListener(new OnMarkerDragListener() 
        {

            public void onMarkerDragStart(Marker marker) 
            {
            }

            public void onMarkerDragEnd(Marker marker) 
            {
mMap.addPolyLine(///)
}

【问题讨论】:

标签: java android eclipse google-maps


【解决方案1】:

您可以调用clear() 以从您的GoogleMap 中删除所有标记、折线和多边形。或者,您可以在 MarkerPolylinePolygon 上调用 remove(),以从地图中删除单个元素。

【讨论】:

  • 如果我将它们添加到像 Polyline poly = mMap.addPolyline() 这样的数组中,然后再添加 poly.remove();
  • @MuhammadUmar:啊,我很抱歉。我曾期望在GoogleMap 上看到remove...() 方法,但没有意识到它们是实例本身的单独方法。我已更新我的答案以反映此修复。将您的 Polyline 对象放在集合中很好,但您需要以某种方式确定哪个 Polyline 是您需要 remove() 的对象。
  • @CommonsWare 我已经按照你所说的polygon.remove(); 尝试过,但地图仍然包含多边形。 :(
  • @CommonsWare,你的回答真的很有帮助,但我编辑它是为了解释如何首先获取对象。我希望它也有帮助:)
【解决方案2】:

如果您想从地图中删除单个Polyline,则必须以稍微不同的方式添加它:

List<Polyline> lines = new ArrayList<Polyline>();

lines.add(googleMap.addPolyline(new PolylineOptions()
        .addAll(lineCoordinates)
        .width(width)
        .color(color))); //the line will appear on the map here

lines.get(0).remove(); // the line should disappear

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多