我希望删除已在另一个方法上创建的折线。有没有办法删除特定的折线?以下是我添加折线的代码。
public void lardizabalToTayuman() {
map.addPolyline(new PolylineOptions().add(
new LatLng(14.617071, 120.989945),
new LatLng(14.605693, 121.000863),
new LatLng(14.605599, 121.000939),
new LatLng(14.603097, 121.001786),
new LatLng(14.602900, 121.001089),
new LatLng(14.605246, 121.000252),
new LatLng(14.613429, 120.992410),
new LatLng(14.611934, 120.990768),
new LatLng(14.617094, 120.985795)
)
.width(5)
.color(Color.RED)
);
}
我的onMapReady代码:
public void onMapReady(GoogleMap googleMap) {
map = googleMap;
LatLng manila = new LatLng(14.5995, 120.9842);
MarkerOptions option = new MarkerOptions();
option.position(manila).title("Manila");
map.addMarker(option);
map.moveCamera(CameraUpdateFactory.newLatLng(manila));
lardizabalToTayuman();
}
答案 0 :(得分:2)
您可以获取Polyline
的引用,只需调用.remove(),它将删除折线。
Exp:
Polyline myPolyline = map.addPolyline(new PolylineOptions().add(
new LatLng(14.617071, 120.989945),..
));
并在删除时只需拨打myPolyline.remove();
注意:
添加
Polyline myPolyline
作为全局变量,以便您可以 以其他方式访问。
编辑:
在你的情况下,你可以这样做,
private Polyline myPolyline;
public void lardizabalToTayuman() {
myPolyline = map.addPolyline(new PolylineOptions().add(
new LatLng(14.617071, 120.989945),
new LatLng(14.605693, 121.000863),
new LatLng(14.605599, 121.000939),
new LatLng(14.603097, 121.001786),
new LatLng(14.602900, 121.001089),
new LatLng(14.605246, 121.000252),
new LatLng(14.613429, 120.992410),
new LatLng(14.611934, 120.990768),
new LatLng(14.617094, 120.985795)
)
.width(5)
.color(Color.RED)
);
}
如果要删除,只需调用此方法,
private void removeLardizabalToTayuman() {
if(myPolyline != null) {
myPolyline.remove();
}
}