首页 文章

如何从Google Map v2 android中删除Poly系列

提问于
浏览
-1

我在标记点击事件上成功制作和绘制多边形线 . 但有一件事我不想发生 .

那就是当我点击标记让我说JackiMarker它绘制到目标位置的路线然后我点击第二个标记让我们说MichaelMarker它也绘制了路线但是前一个标记仍然存在我不想要的 .

我正在唱this代码来绘制和删除标记 . 它有clearRoute功能,但它不适合我,请帮我做什么 . 请帮我删除我在 Map 上绘制的最后一条折线 .

2 回答

  • 0

    请试试这个,

    Polyline polyline = this.mMap.addPolyline(new PolylineOptions().....);
    

    然后当你想删除它:

    polyline.remove();
    

    如果你有很多 Polylines ,只需将它们添加到List中,因为它们放在 Map 上:

    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() .

  • 0

    它是我在问题中分享的100%工作代码,问题在我的最后 . 我正在做什么,当我点击标记时尝试删除路径,而OnMarkerClickListener我正在启动Route Class,它创建了同一个类的另一个实例,从而创建了0索引的折线数组,这就是为什么我不是进入clearRoute方法的for循环 .

    所以通过实例化Route类作为全局解决了我的问题 .

相关问题