与Leaflet一起使用的D3.brush()的任何示例吗?


10

我有一个传单地图,已使用传单覆盖窗格将SVG放置在其上方。我想将D3画笔添加到覆盖窗格中,然后将更新单独的图表。我到处寻找同时D3.brush()和传单示例的任何示例,但似乎找不到任何示例。

我找到的最接近的东西是这个https://github.com/mbostock/d3/issues/1321和这个https://www.mapbox.com/mapbox.js/example/v1.0.0/timeline-scaled-markers/(这是在刷图表而不是在刷地图)。

我想知道是否:

  1. 任何人都知道任何例子,或者
  2. 任何人都知道这是否可能/合理地直接,或者
  3. 如果可能的话,任何人都有关于我可能会遇到的问题的任何提示。

你有工作吗?在使用Firefox时,您是否发现刷子没有与鼠标对齐?
弗雷泽·柯克曼

Answers:


2

我已经基于bl.ock做了一个基本示例。

处理

  • 将图层组添加到地图(来自GeoJSON)

  • 将图层组保存在变量中,即 var layer_group = L.geoJSON(json, {...}).addTo(your_map);

  • 在您的brushended函数中,迭代layer_group.eachLayer()并使用your_map.removeLayer(layer)your_map.addLayer(layer)控制功能的可见性。

这是JSFiddle:https ://jsfiddle.net/0dyjkk2h/2/

用D3笔刷制作的传单图


也许我没有正确理解这个问题。您是否希望能够在地图上或在单独的图表上进行笔刷(例如在我的示例中)?
thibautg
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.