Android谷歌地图摆脱折线

时间:2015-02-23 17:31:38

标签: android google-maps-android-api-2 polyline

我正在构建一个Android应用程序,它可以获取用户当前位置并找到附近的景点。当我选择一个景点时,会从当前位置绘制一条路线,但是当我第二次将第一条路线留在那里时,我希望它消失。下面是我用来绘制线条的代码。每次绘制方向时都会调用它。我在调用方法之前每次尝试使用line.remove,但这会删除两行。有什么建议吗?

for (int i = 0; i < pontos.size() - 1; i++) {
                    LatLng src = pontos.get(i);
                    LatLng dest = pontos.get(i + 1);
                    try{
                        //here is where it will draw the polyline in your map
                        line = mMap.addPolyline(new PolylineOptions()
                                .add(new LatLng(src.latitude, src.longitude),
                                        new LatLng(dest.latitude,                dest.longitude))
                                .width(2).color(Color.RED).geodesic(true));

1 个答案:

答案 0 :(得分:1)

将您的Polylines保存在数组中,以便在添加其他数组之前将其删除:

List<Polyline> mPolylines = new ArrayList<>();

private void someMethod() {
    // Remove polylines from map
    for (Polyline polyline : mPolylines) {
        polyline.remove();
    }
    // Clear polyline array
    mPolylines.clear();

    for (int i = 0; i < pontos.size() - 1; i++) {
        LatLng src = pontos.get(i);
        LatLng dest = pontos.get(i + 1);

        mPolylines.add(mMap.addPolyline(new PolylineOptions()
                .add(new LatLng(src.latitude, src.longitude),
                        new LatLng(dest.latitude, dest.longitude))
                .width(2).color(Color.RED).geodesic(true)));

    }
}