谷歌地图V3删除多段线覆盖

Google Map V3 remove polyline overlays

本文关键字:段线 覆盖 删除 V3 谷歌地图      更新时间:2023-10-28

我想我现在必须放弃并询问,因为我的截止日期快到了。伙计们,我想删除我的谷歌地图中的多段线。在我的研究中,它说这样做很容易:

myInstance.setMap(null);

然而,复杂的开始,因为我有这个代码:

jQuery.ajax({
        type: "POST",  
        url: url,
        async: false, 
        dataType: 'json',
        data: data,
        success: function(result){
            var size = 0, key;
            for (var i = 0; i < result.data.length; i++) {
                if(i==0){
                    var pointA = new google.maps.LatLng( result.data[i].t.latitude, result.data[i].t.longtitude );
                    Polyline.push(pointA);
                }
                if(i == 1){
                    pointA = pointA;
                    var pointB = new google.maps.LatLng( result.data[i].t.latitude, result.data[i].t.longtitude );
                    var color = result.data[i].t.color;
                    Polyline.push(pointB);
                    LinePath = new google.maps.Polyline({
                        path:Polyline,                                                                                                                              
                        strokeColor:color,
                        strokeOpacity:1.0,
                        strokeWeight:5
                        });
                    polyLinePath.push(LinePath); 
                    LinePath.setMap(map);
                }
                if(i>1){
                    pointA = pointB;
                    Polyline = [];
                    Polyline.push(pointA);
                    var pointB = new google.maps.LatLng( result.data[i].t.latitude, result.data[i].t.longtitude );
                    Polyline.push(pointB);
                    var color = result.data[i].t.color;
                    LinePath = new google.maps.Polyline({
                        path:Polyline,                                                                                                                              
                        strokeColor:color,
                        strokeOpacity:1.0,
                        strokeWeight:5
                        }); 
                    LinePath.setMap(map);
                    polyLinePath.push(LinePath);
                    Polyline = [];
                    Coordinates= [];
                }
            }

}

        }
    });

LinePath不时被使用,输入到其中的数据会发生变化,并且不会保留路径的值。所以每次我调用clearMap()时;

function clearMap(){
  LinePath.setMap(null);
}

我的地图上没有任何东西被清除。我已经阅读了相关的帖子并对此进行了研究。事实上,在我发布这篇文章之前,我有几个注释掉的代码,因为我试图实现我的目标。请帮助

您似乎正在创建LinePath的多个实例,并将它们推送到polyLinePath中。

尝试清除所有这些:

function clearMap(){
   if (polyLinePath){
       for (var i=0; i<polyLinePath.length; i++){
          polyLinePath[i].setMap(null);
       }
   }
}