如何判断点击的是地图还是覆盖物

2025-03-05 09:34:41
推荐回答(1个)
回答1:

先看看地图有哪些事件,查看官网类参考,翻到事件:



 


大家看到这里的参数了麽?


其实,在点击物体时,通过这些参数就能够判断所点击的物体是什么了。


用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('你点击的是地图');

        }

    }); 


 添加一堆覆盖物,然后给每个覆盖物写点击事件。



比如我点击了多边形,就会弹出这个。




全部源代码:



点击事件