更改折线点

时间:2017-05-31 19:06:15

标签: java android google-maps

我试图在将折线放在地图上之后更改折线,但它的点列表似乎是不可更改的。折线点列表上的CRUD操作无效。

PolylineOptions polylineOptions = new PolylineOptions()   //New PolylineOptions
    .add(new LatLng(FromNode.Lat, FromNode.Lon))          //with 2 coordinates
    .add(new LatLng(ToNode.Lat, ToNode.Lon));
Polyline polyPath = map.addPolyline(polylineOptions);     //Add polyline on map
polyPath.getPoints().remove(0);                           //Should remove 0 element
polyPath.getPoints().size();                              //Still 2 elements
polyPath.getPoints().add(new LatLng(0,0));                //Add new point
polyPath.getPoints().size();                              //Still 2 elements

1 个答案:

答案 0 :(得分:0)

Polyline.getPoints();

创建点列表的副本,它不是对实际点列表的引用。 要设置新的点列表,需要获取初始点列表,更改它并将其设置为折线。

List<LatLng> pointsList = Polyline.getPoints();
pointsList.remove(1);
pointsList.set(0, new LatLng(1,1));
pointsList.add(new LatLng(0,0));
Polyline.setPoints(pointsList);