【百度地图API】如何判断点击的是地图还是覆盖物?

本文介绍如何区分地图上的点击事件是作用于地图本身还是其上的标注(marker)。通过为地图添加点击监听并检查事件参数,可以轻松实现这一功能。具体方法是在点击事件中检查'e.overlay'是否存在,以此来判断点击目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:很多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('你点击的是地图');
        }
    });
复制代码

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值