在Google地图中为SVG图层自定义鼠标交互

时间:2012-12-13 02:38:09

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

我正在谷歌地图中构建一个D3层。我正处于D3呈现良好的阶段,但是我希望影响这一层的鼠标事件被(我认为)overlayMouseTarget图层捕获。这意味着我无法与我的D3图层进行任何交互。

我已经在这里和其他地方搜索过修复程序,但是在实施了几条建议后,我发现我仍然没有工作解决方案。是否有任何支持的方法可以在Google Maps中重载鼠标交互或删除/隐藏鼠标交互层?或许还有更优雅的解决方案?

我可以做Google Maps API v3 : Passing values to Listener function(), so as to make a circle when the marker is clicked?这样的事情并让我的D3代码与任何图层完全分开,但我宁愿将它放在夹在图层下方的图层中,使用缩放/平移控制器并在鼠标事件图层上方。或者弄清楚如何将事件向下发送到我的D3代码当前所在的几层。

我使用https://gist.github.com/899711作为将D3添加到地图的起点。

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,对我有用的修复方法是将整个svg图层绑定到this.getPanes().overlayMouseTarget而不是原始的this.getPanes().overlayLayer