我想我现在必须放弃并且因为我的截止日期临近而要求。大家好,我想在谷歌地图中删除我的折线。它在我的研究中说,这样做很容易:
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);
}
我的地图中没有任何内容被清除。我已阅读相关帖子并对其进行了研究。由于我试图实现我的目标,因此我在此之前发布此代码时实际上有几个注释掉的代码。请帮忙
答案 0 :(得分:3)
您似乎正在创建LinePath的多个实例并将它们推送到polyLinePath。
尝试清除所有这些:
function clearMap(){
if (polyLinePath){
for (var i=0; i<polyLinePath.length; i++){
polyLinePath[i].setMap(null);
}
}
}