百度地图JS 自定义覆盖物Click事件无法点击

JavaScript034

百度地图JS 自定义覆盖物Click事件无法点击,第1张

给自定义覆盖物添加了click事件后,页面跳转再跳回有覆盖物的页面时,点击事件失效了。

之前是 div.onclick=function(){}

于是

var bugFlag=true

div.addEventListener("touchstart", function(e){

bugFlag = true

})

div.addEventListener("touchmove", function(e){

$timeout(function () {

bugFlag = false

},100) // 移动端的话需要延时

})

div.addEventListener("touchend", function(e){

if(bugFlag==true){

attribute(this.getAttribute('myId'),this.getAttribute('myTotal'),this.getAttribute('startCity'))

}

})

这样的话,拖动地图不会触发点击事件了。

//把点击事件对应的函数设置到marker对象上

marker.clickFun=function(){

....

}

//marker绑定click,触发click调用刚才设置的方法

marker.addEventListener("click", function(){

marker.clickFun()

})

//其他地方触发:遍历获取对应marker实例,调用方法

let markers = Bmap.getOverlays()//获取所有marker

for(let i=0i<markers.lengthi++){

if(treeNode.id==markers[i].id){

markers[i].clickFun()

}

}