Tengo un mapa de folleto en el que he colocado un SVG "encima" usando el panel de superposición de folleto. Quiero agregar un pincel D3 al panel de superposición que luego actualizará un gráfico separado. He buscado ejemplos de D3.brush () y folletos simultáneos, pero parece que no puedo encontrar ninguno.
Lo más parecido que encontré fue este https://github.com/mbostock/d3/issues/1321 y este https://www.mapbox.com/mapbox.js/example/v1.0.0/timeline-scaled-markers/ (esto es rozar el gráfico, no el mapa).
Me preguntaba si:
- Alguien sabía de algún ejemplo, O
- Alguien sabía si esto era posible / razonablemente sencillo, O
- Si es posible, alguien tenía algún consejo sobre el tipo de problemas que podría encontrar.
Respuestas:
Acabo de hacer un ejemplo básico basado en este bl.ock .
Proceso
agregue su grupo de capas al mapa (desde GeoJSON)
guarde su grupo de capas en una variable, es decir
var layer_group = L.geoJSON(json, {...}).addTo(your_map);
En su
brushended
función, repitalayer_group.eachLayer()
y useyour_map.removeLayer(layer)
yyour_map.addLayer(layer)
para controlar la visibilidad de la función.Aquí está el JSFiddle: https://jsfiddle.net/0dyjkk2h/2/
fuente