如何使用PolylineOptions从谷歌地图android v2中清除路线,并再次绘制新路线



我正在获取每个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();
                }

最新更新