inmap icon indicating copy to clipboard operation
inmap copied to clipboard

请教一下,如何在inmap中监听点击事件来区分点击的是地图还是动画圆点呢?

Open xiaoseLibrary opened this issue 6 years ago • 2 comments

inmap.getMap().addEventListener("click",function(e){ // alert(e.point.lng + "," + e.point.lat); }); 监听了地图的点击事件,请问依据哪个字段可以判断当前点击的是地图还是动画圆点呢?

xiaoseLibrary avatar Aug 26 '19 06:08 xiaoseLibrary

我回头来回答下

inmap.getMap().addEventListener("click",function(e){ // alert(e.point.lng + "," + e.point.lat); }); 监听了地图的点击事件,请问依据哪个字段可以判断当前点击的是地图还是动画圆点呢?

xianshenglu avatar Jul 24 '20 08:07 xianshenglu

我来给个思路,如果要监听圆点的点击事件,可以直接类似这样

event:{
  onMouseClick(){}
}

如果需要判断用户是点击在圆点以外的地图区域,可以参考下面一段逻辑

let prevClickEvent=null
event:{
  onMouseClick(item,event){
    prevClickEvent= event
  }
}
inmap.getMap().addEventListener("click",function(e){
  if(e===prevClickEvent){
      console.log('点击的是上面的 overlay ')
  } 
  console.log('点击的是上面 overlay 以外的地图区域')
});

我这边测试的结果是,两边用的 event 指向同一个对象,所以可以直接这么判断. @ywj1721158614

xianshenglu avatar Jul 26 '20 06:07 xianshenglu