我试图在将折线放在地图上之后更改折线,但它的点列表似乎是不可更改的。折线点列表上的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
答案 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);