我正在获取每个onLocationChange的纬度和经度,并制定这样的路线:
public void onLocationChanged(Location location) {
PolylineOptions rectLine2;
rectLine2.add(new LatLng(lat, lon));
mGoogleMap.addPolyline(rectLine2);
}
现在我想一键清除这条路线,当我移动时,应该再次绘制一条新的路线,但就我而言,旧路线并不清晰。
我做了以下但没有工作:
mGoogleMap.clear();// It clear's the map, but when I again draw the old route again comes.
还有
Polyline polyline;
polyline = mGoogleMap.addPolyline(rectLine2);
polyline.reomve()// This also didn't work.
有其他解决方案可以清除地图吗?
提前感谢!
mGoogleMap.clear()
用于清除整个地图,以便重新绘制多段线。。。
否则你需要给折线分配一个变量,你可以删除它…
PolylineOptions rectLine2;
rectLine2.add(new LatLng(lat, lon));
Polyline polyline = mGoogleMap.addPolyline(rectLine2);
polyline.remove();
这些是。。。为什么你需要任何其他解决方案来清除。。?
如果您有多段线,那么只需创建一个数组,并在需要清除时删除所有多段线
嗯,这很有趣,试试这种方式,它对我有效:
private void clearPath() {
if (polyline != null)
polyline.remove();
polyline = null;
}
mGoogleMap.clear()是清理地图的最佳方法。它会从地图中删除所有标记、多段线、多边形、覆盖等。看看这个http://developer.android.com/reference/com/google/android/gms/maps/GoogleMap.html#clear()
所以问题不在于此。你在重新绘制新路径时做错了什么。我认为您没有在onLocationChanged函数中给出所有代码。如果这是您的最终代码,那么这不应该起作用,因为您只在PolylineOptions中添加了一个点。请检查此如何在路线上绘制交互式折线谷歌地图v2安卓
希望它能帮助
也尝试清除rectLine2变量。可能是它有所有古老的拉丁语。点击一下。
rectLine2 = new PolylineOptions();
使用map.clear()
方法清除所有地图(多段线、标记等)或将所有多段线保存在某个位置,然后删除它们以保存其他所有
for(Polyline polyline : polylineList) {
polyline.remove();
}