停止JavaScript覆盖菜单中的事件传播到Google地图

时间:2017-10-18 07:52:38

标签: javascript google-maps

我在Google地图上用谷歌覆盖视图在JavaScript中创建了一些editBox和按钮。每当我点击任何按钮,编辑框或overlayView上的任何位置时,Google地图也会接受这些鼠标事件。如何限制鼠标事件,使它们无法通过overlayView传播?

google.maps.event.addDomListener(gotoBtn, 'click', function(e) {
    ///DO SOMETHING
    e.stopPropagation();
});

对于按钮,我使用以下方法,但我不想在所有地方都使用相同的方法。还有其他合乎逻辑的方法吗?

1 个答案:

答案 0 :(得分:1)

我在overlayView中添加了div并在那里停止了鼠标传播。

var panes = this.getPanes();
panes.overlayImage.appendChild(div);

/// Code for stoping event propagation to m_map
div.onclick = function(event) {
    event.stopPropagation();
}

google.maps.event.addDomListener(div, 'mousedown', function (event) {
    event.cancelBubble = true;
        if(event.stopPropogation)
            event.stopPropagation();
});