javascript - 停止 JavaScript 覆盖菜单中的事件传播到 Google map

标签 javascript google-maps

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

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

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

最佳答案

我在 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();
});

关于javascript - 停止 JavaScript 覆盖菜单中的事件传播到 Google map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46805248/

相关文章:

javascript - AJAX 调用未获取 id 并将其发送到 php 文件

javascript - 完全删除 GoogleMaps 自动完成的正确方法是什么?

google-maps - 使用 Google map 、Stamen Tiles(现有的瓦片库)和 Require.js?

javascript - 使用 JavaScript 在静态图像上绘制线条

java - Google map Activity 在 "getLastKnownLocation"中崩溃

javascript - 我应该如何着手编写具有服务器端和客户端代码的 node.js Web 应用程序?

javascript - 使整个 DIV block 可点击

javascript - 如何检测文本区域何时失去焦点并在单击特定元素时防止其失去焦点?

javascript - React-Router 算法是如何工作的?

javascript - Google map 使用 javascript 渲染图像或图像文件?