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

 我来答
莫邪5繂
2013-11-07 · 超过61用户采纳过TA的回答
知道答主
回答量:172
采纳率:0%
帮助的人:60万
展开全部
怎样才能判断,我点击的是标注,还是地图呢?下面一起来看看。 ------------------------------------------------------------先看看地图有哪些事件,查看官网类参考,翻到事件: 大家看到这里的参数了麽?其实,在点击物体时,通过这些参数就能够判断所点击的物体是什么了。 用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);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式