我有一个项目,我使用从数据库查询的坐标在googlemaps上绘制折线。那些坐标显示了汽车的每日路线。当我查询另一天的路线时,它与前一个路线相撞。我试图删除前一个或只是将其地图设置为null或只是将其visible属性设置为false。但都没有效果。还有其他方法吗?这是我的代码:
drawPath = function () {
$.ajax({
type:'POST',
dataType:'json',
data:'cmd=getPath&id='+<?php echo $this->input->get('id'); ?>+'&date='+$("#time").val(),
url: 'index.php/ajax_controller',
success: function(data) {
var pathLatLng,nextLatLng;
var line;
var gBas=0;
var dBas=0;
for (var i = 0; i < data.length-1; i++) {
var lat1=data[i].LAT1.substring(0,2)+"."+data[i].LAT1.substring(2);
var lng1=data[i].LNG1.substring(1,3)+"."+data[i].LNG1.substring(3);
pathLatLng = new google.maps.LatLng(lat1,lng1);
lat1=data[i+1].LAT1.substring(0,2)+"."+data[i+1].LAT1.substring(2);
lng1=data[i+1].LNG1.substring(1,3)+"."+data[i+1].LNG1.substring(3);
nextLatLng = new google.maps.LatLng(lat1,lng1);
var color="#1BE09E";
var opacity={opacity: 0.50};
var path=[pathLatLng,nextLatLng];
var polyLineOpt={
path: path,
strokeColor: color,
strokeOpacity: 1.0,
strokeWeight: 2,
geodesic: true,
map: map
}
line = new google.maps.Polyline(polyLineOpt);
}
},
error:function(){
}
});
}
正如你所看到我用AJAX查询坐标。我还尝试使用line作为全局变量。
答案 0 :(得分:1)
删除保存创建的折线的变量因此删除行时,它应该有效。但是因为你在for循环中创建了许多折线,你需要在某处备份所有对象,很可能也是数组或对象。然后你可以在一个循环中删除它们。