删除在函数外不起作用的多段线

Remove polyline not working outside a function

我正在尝试删除 google 地图中的多段线。我定义了一个在两点之间添加折线的函数,如下所示:

    public void addPolylineBetweenTwoPoint(LatLng point1, LatLng point2, int color) {
        PolylineOptions path = new PolylineOptions()
                .color(color)
                .zIndex(10); // Closes the polyline.

        path.add(point1, point2);

        polyline = map.addPolyline(path);
        // polyline.remove();
    }

现在,在我的程序中,我是这样做的:

    addPolylineBetweenTwoPoint(startingPointCoordinates, nearestStartingPoint.coordinates, Color.BLUE);
    polyline.remove();

问题是当我在我的函数之后调用 polyline.remove() 时,它不起作用并且没有删除折线。 但是,如果我在我的函数中取消注释 polyline.remove(); 语句,那么折线就会正确删除。由于我的 polyline 对象相同,因此在这两种情况下都应删除折线。但是不知道是什么问题。

此外,我已经在 class 中声明了折线和地图对象,如下所示:

    public Polyline polyline;
    private GoogleMap map;

此处描述了删除特定多段线的过程:

Removing a polyline from google maps