摘要:很多API爱好者问我,为什么我点击的是marker,而map也会响应该事件呢?怎样才能判断,我点击的是标注,还是地图呢?下面一起来看看。
------------------------------------------------------------
先看看地图有哪些事件,查看官网,翻到:
大家看到这里的参数了麽?
其实,在点击物体时,通过这些参数就能够判断所点击的物体是什么了。
用marker举例:
先创建一个marker
//覆盖物Marker var pmk = new BMap.Point(116.249472,39.946583); var mk = new BMap.Marker(pmk); map.addOverlay(mk);
然后对地图添加点击事件,如果判断出来是覆盖物,就弹出相应的对话框。
map.addEventListener("click",function(e){ if(e.overlay){ alert('你点击的是覆盖物:'+e.overlay.toString()); }else{ alert('你点击的是地图'); } });
添加一堆覆盖物,然后给每个覆盖物写点击事件。
比如我点击了多边形,就会弹出这个。
全部源代码:
点击事件