如何删除在另一种方法上创建的多段线
How to remove a polyline that is created on another method
我想删除已在其他方法上创建的多段线。有没有办法删除特定的多段线?下面是我添加折线的代码。
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();
}
你可以获得Polyline
的引用,然后调用.remove(),它会删除多段线。
Exp :
Polyline myPolyline = map.addPolyline(new PolylineOptions().add(
new LatLng(14.617071, 120.989945),..
));
删除时只需调用 myPolyline.remove();
注:
Added Polyline myPolyline
as a global variable, So that you can
access in other methods.
已编辑:
在你的情况下你可以这样做,
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();
}
}
我想删除已在其他方法上创建的多段线。有没有办法删除特定的多段线?下面是我添加折线的代码。
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();
}
你可以获得Polyline
的引用,然后调用.remove(),它会删除多段线。
Exp :
Polyline myPolyline = map.addPolyline(new PolylineOptions().add(
new LatLng(14.617071, 120.989945),..
));
删除时只需调用 myPolyline.remove();
注:
Added
Polyline myPolyline
as a global variable, So that you can access in other methods.
已编辑:
在你的情况下你可以这样做,
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();
}
}