【百度地图API】如何断定点击的是地图还是覆盖物?
1个回答
展开全部
生活生计里没有册本,就如同没有阳光;聪明里没有册本,就如同鸟儿没有同党。择要:很多API爱好者问我,为什么我点击的是marker,而map也会响应当事务呢?如何才干断定,我点击的是标注,还是地图呢?下面一路来看看。恋情不只是月夜里并肩漫步,更是风雨中的联袂同业 ------------------------------------------------------------先看看地图有哪些事务,查看官网类参考,翻到事务: 大师看到这里的参数了麽?其实,在点击物体时,经由过程这些参数就可以或许断定所点击的物体是什么了。 用marker举例:先创建一个marker//覆盖物Markervar 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(""你点击的是地图""); } }); 添加一堆覆盖物,然后给每个覆盖物写点击事务。 比如我点击了多边形,就会弹出这个。key=v=1.3">var map =new BMap.Map("dituContent"); var point =new BMap.Point(116.331398,39.897445); map.centerAndZoom(point,12); map.enableScrollWheelZoom(); map.addEventListener("click",function(e){ if(e.overlay){ alert(""你点击的是覆盖物:""+e.overlay.toString()); }else{ alert(""你点击的是地图""); } }); //覆盖物Markervar pmk =new BMap.Point(116.249472,39.946583); var mk =new BMap.Marker(pmk); map.addOverlay(mk); //覆盖物Labelvar plb =new BMap.Point(116.408149,39.958087); var lb =new BMap.Label(""我是覆盖物Label"",{point:plb}); map.addOverlay(lb); //覆盖物Polylinevar pl =new BMap.Polyline([new BMap.Point(116.250047,39.919583),new BMap.Point(116.441494,39.919583)],{strokeWeight:10}) map.addOverlay(pl); //覆盖物Polygonvar pg =new BMap.Polygon([new BMap.Point(116.248323,39.893016),new BMap.Point(116.440344,39.893016),new BMap.Point(116.440344,39.811036),new BMap.Point(116.248323,39.811036)]); map.addOverlay(pg);
景联文科技
2024-06-11 广告
2024-06-11 广告
景联文科技为全球数千家人工智能从业公司和高校科研机构提供安全合规的人工智能训练数据国家高新技术企业、浙江省软件企业、杭州市“青蓝计划”企业、浙江省科技型中小企业、杭州市“雏鹰计划”企业、互联网金融身份认证联盟会员单位、全国信标委生物特征识别...
点击进入详情页
本回答由景联文科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询