【问题标题】:How to make Google Maps' custom overlay above marker's click zone?如何在标记的点击区域上方制作谷歌地图的自定义叠加层?
【发布时间】:2016-08-09 05:19:52
【问题描述】:

在这里查看我的示例代码https://jsfiddle.net/liangyongning/cd5wbzL8/5/

我创建了一个名为 MyOverlay 的自定义叠加层,并将其添加到 floatPane,我检查了 Google Maps 的 API,它告诉我 floatPane 高于 overlayMouseTarget

  • overlayMouseTarget 包含接收 DOM 鼠标事件的元素,例如标记的透明目标。它位于 floatShadow 上方,因此可以单击信息窗口阴影中的标记。 (窗格 5)。
  • floatPane 包含信息窗口。它首先是地图叠加层。 (窗格 6)。

来源:https://developers.google.com/maps/documentation/javascript/customoverlays#initialize

但是这个覆盖层后面的标记是可点击的,即使上面有一个信息窗口。

如果我删除第 27 行的覆盖,一切正常。

// var overlay = new MyOverlay(map);

我的自定义叠加层有什么问题?如何使其高于所有标记的点击区域?

【问题讨论】:

    标签: javascript google-maps google-maps-api-3


    【解决方案1】:

    好的,我找到了答案,我必须在我的自定义叠加层上禁​​用一些鼠标事件。

    google.maps.event.addDomListener(this._div, 'click', function (e) {
      e.cancelBubble = true;
      e.stopPropagation && e.stopPropagation();
    })
    

    这是代码:https://jsfiddle.net/liangyongning/cd5wbzL8/7/

    参考:Prevent google overlay/infowindow from allowing clicks through to markers underneath

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-22
      • 1970-01-01
      • 2016-06-12
      • 1970-01-01
      相关资源
      最近更新 更多