百度地图用addEventLinstener监听几个marker之后,再把几个marker连接起来结果就报错了
<script Language="JavaScript" type="text/javascript">
var id = <?php echo json_encode($id);?>;
var time = <?php echo json_encode($time);?>;
var height = <?php echo json_encode($height);?>;
var latitude = <?php echo json_encode($latitude);?>;
var longitude = <?php echo json_encode($longitude);?>;
var date = <?php echo json_encode($date);?>;
var speed = <?php echo json_encode($speed);?>;
var rownum = <?php echo json_encode($rownum);?>;
var Point = new Array();
for(var i=0;i<rownum;i++) {
Point.push(new BMap.Point(longitude[i], latitude[i]));
}
function transcoord() {
translateCallback = function (data) {
var transPoint = new Array();
var Marker = new Array();
if (data.status === 0) {
for(var i=0;i<rownum;i++) {
transPoint[i]=data.points[i];
Marker[i]=new BMap.Marker(data.points[i]);
map.addOverlay(Marker[i]);
function Listener() {
//var thePoint = transPoint[i];
//var theMarker = Marker[i];
var theTime = "00:00:00";
Marker[i].addEventListener("click",function(){
showInfo(this,theTime);
});
}
Listener();
}
function showInfo(thisMaker,time){
var sContent =
"<ul style='margin:0 0 5px 0;padding:0.2em 0'>"
+"<li style='line-height: 10px;font-size: 15px;'>"
+"<span style='width: 50px;display: inline-block;'>000:</span>" + "000" + "</li>"
+"<li style='line-height: 26px;font-size: 15px;'>"
+"<span style='width: 50px;display: inline-block;'>time:</span>"+time +"</li>"
+"</ul>";
var infoWindow = new BMap.InfoWindow(sContent); // 创建信息窗口对象
thisMaker.openInfoWindow(infoWindow); //图片加载完毕重绘infowindow
}
function drawline() {
var polyline = new Array();
for(var k=0;k<rownum;k++){
polyline[k] = new BMap.Polyline([transPoint[k],transPoint[k+1]]
, { strokeColor:"green",//设置颜色
strokeWeight:3, //宽度
strokeOpacity:0});//透明度
map.addOverlay(polyline[k]);
}
}
drawline();
}else{
alert(data.status);
}
}
var convertor = new BMap.Convertor();
convertor.translate(Point, 1, 5, translateCallback);
}
transcoord();
</script>
运行之后一开始是这样的
然后点击marker之后,,不会有点击事件,而且又画了一段一样的轨迹出来。。。
浏览器疯狂报错
求解
但是如果在drawline那里不用循环只画其中一段轨迹的话,不会报错,点击事件也是正常的