javascript - Google map 中 SVG 层的自定义鼠标交互

标签 javascript google-maps d3.js google-maps-api-3 dom-events

我正在 Google map 中构建 D3 图层。我正处于 D3 渲染良好的阶段,但我想影响该层的鼠标事件被(我认为)overlayMouseTarget 层捕获。这意味着我无法与我的 D3 层进行任何交互。

我已经在这里和其他地方搜索了修复程序,但是在实现了一些建议后我发现我仍然没有找到有效的解决方案。在谷歌地图中是否有任何支持的方法来重载鼠标交互或删除/隐藏鼠标交互层?或者也许有更优雅的解决方案?

我可以做类似 Google Maps API v3 : Passing values to Listener function(), so as to make a circle when the marker is clicked? 的事情并让我的 D3 代码完全脱离任何层,但我宁愿将它放在一个层中,该层夹在带有缩放/平移 Controller 的层下方和鼠标事件层上方。或者弄清楚如何将事件向下发送几层到我的 D3 代码当前所在的位置。

我用了https://gist.github.com/899711作为将 D3 添加到 map 中的起点。

最佳答案

我遇到了同样的问题,一个对我有用的修复是将整个 svg 层绑定(bind)到 this.getPanes().overlayMouseTarget 而不是原来的 this.getPanes()。覆盖层

关于javascript - Google map 中 SVG 层的自定义鼠标交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13852065/

相关文章:

php - 在 PHP 中调用带参数的 Javascript 函数

javascript - 在 DOM 上使用 Javascript 定位 Div

android - NestedScrollView 内的 MapView 不滚动

google-maps - 阻止 Google Maps API 滚动到灰色区域

javascript - d3.js 强制定向布局受形状约束

javascript - 如何使用 d3.js 将纬度和经度转换为 (x,y) 坐标

javascript - 在 d3 js 树中插入多次工作

javascript - 当我使用 Angular md-selected 索引频繁切换选项卡时,多个 'md-tab' 同时具有 'md-active' 类

javascript - 验证年龄字段

android - 在谷歌地图中显示路线/ map 按钮