百度地图覆盖物添加引发的事件穿透

在百度地图上添加了自定义覆盖物,通过点击marker会弹出覆盖物。但是点击覆盖会奇怪的点击到被覆盖的marker,一开始以为是冒泡,但是去掉所有冒泡还是无果。最后发现在添加覆盖物的时候有个添加覆盖物的容器的选项。

此类表示地图上所有覆盖物的容器集合,没有构造函数,通过对象字面量形式表示。通过Map的getPanes方法可获得该对象实例。

属性类型描述
floatPaneHTMLElement信息窗口所在的容器
markerMouseTargetHTMLElement标注点击区域所在的容器
floatShadowHTMLElement信息窗口阴影所在的容器
labelPaneHTMLElement文本标注所在的容器
markerPaneHTMLElement标注图标所在的容器
markerShadowHTMLElement标注阴影所在的容器
mapPaneHTMLElement折线、多边形等矢量图形所在的容器

 

之前用的是markerPane,仅在当前marker处添加,这里我需要在mark的上层或地图层添加,因此改成floatPane或markerMouseTarget即可。初始化的代码如下:

neInfoWindow.prototype.initialize = function(map) {
  this._map = map;
  // 创建div元素,作为自定义覆盖物的容器
  this._div = document.getElementById(this._dom);
  // 将div添加到覆盖物容器中
  map.getPanes().markerMouseTarget.appendChild(this._div);
  return this._div;
};

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值