我正在 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/