0

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

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);
}

我的地图上没有任何东西被清除。我已经阅读了相关的帖子并对其进行了研究。由于我试图实现我的目标,在我在这里发布之前我实际上有几个注释掉的代码。请帮忙

4

1 回答 1

3

您似乎正在创建多个 LinePath 实例并将它们推入 polyLinePath。

尝试清除所有这些:

function clearMap(){
   if (polyLinePath){
       for (var i=0; i<polyLinePath.length; i++){
          polyLinePath[i].setMap(null);
       }
   }
}
于 2012-07-18T08:36:46.663 回答