我在标记点击事件上成功制作和绘制多边形线。但有一件事我不想发生。
那就是当我点击标记让我说JackiMarker它绘制到目标位置的路线然后我点击第二个标记让我们说迈克尔马克它也绘制路线但是前一个标记仍然在那里我不想成为。
我正在制作this代码来绘制和删除标记。它有clearRoute功能,但它不适合我,请帮我做什么。请帮我删除我在地图上绘制的最后一条折线。
答案 0 :(得分:1)
请试试这个,
Polyline polyline = this.mMap.addPolyline(new PolylineOptions().....);
然后当你想删除它时:
polyline.remove();
如果你有很多Polylines
,只需将它们添加到列表中,因为它们放在地图上:
List<Polyline> polylines = new ArrayList<Polyline>();
for(....)
{
polylines.add(this.mMap.addPolyline(new PolylineOptions()....));
}
当你想删除时:
for(Polyline line : polylines)
{
line.remove();
}
polylines.clear();
关键是要保留对Polyline objects
的引用,并在每个引号上调用.remove()
。
答案 1 :(得分:0)
这是我在问题中分享的100%工作代码,问题出在我的最后。 我正在做什么,当我点击标记时尝试删除路径,而OnMarkerClickListener我正在启动Route Class,它创建了同一个类的另一个实例,从而创建了0索引的折线数组,这就是为什么我不是进入clearRoute方法的for循环。
所以通过将Route类实例化为全局解决了我的问题。