以下
How to draw a path between two markers
我必须在两个标记之间添加许多折线,以形成路径 .
其中一个标记是可拖动的,让我们说源是可拖动的 .
因此,当用户开始拖动标记时,必须擦除先前绘制的路径,并且必须绘制新源和目标之间的新路径 .
我能够绘制新路径,但是如何删除上一条路径呢?
这是绘制路径的方式:
for (int z = 0; z < list.size() - 1; z++) {
LatLng src = list.get(z);
LatLng dest = list.get(z + 1);
Polyline line = map.addPolyline(new PolylineOptions()
.add(new LatLng(src.latitude, src.longitude),
new LatLng(dest.latitude, dest.longitude))
.width(2).color(Color.RED).geodesic(true));
}
我能得到的一个解决方案是
map.clear();
要清除所有折线,标记等..并再次添加标记,然后绘制路径 .
但是一旦我开始拖动,标记就会被清除,因此在 Map 上看不到:(
谢谢
3 回答
将Polyline添加到 Map 时跟踪Polyline:
然后当你想删除它:
如果你有很多折线,只需将它们添加到列表中,因为它们放在 Map 上:
当你想删除时:
关键是保持对Polyline对象的引用并在每个对象上调用.remove() .
我知道这是一个非常古老的问题,但我注意到这是非常普遍的需要 . 我找到了另一种方式,我想分享它 .
这是基本的想法:
Map的“addPolyline”方法返回包含所有点的单个折线 . 当我需要删除点时,我称之为polylineFinal的“删除”方法 .
我用过这个工作:)