У меня есть листовка, на которую я поместил SVG «поверх», используя панель наложения листовок. Я хочу добавить кисть D3 на панель наложения, которая затем обновит отдельную диаграмму. Я искал примеры одновременного использования D3.brush () и листовок, но не могу найти ни одного.
Самым близким, что я нашел, был этот https://github.com/mbostock/d3/issues/1321 и этот https://www.mapbox.com/mapbox.js/example/v1.0.0/timeline-scaled-markers/ (это чистит график, а не карту).
Мне подумалось, может:
- Кто-нибудь знал о каких-либо примеров, или
- Кто-нибудь знал, возможно ли это / достаточно просто, ИЛИ
- Если возможно, у кого-нибудь были какие-либо советы по поводу проблем, с которыми я мог бы столкнуться.
Ответы:
Я только что сделал один базовый пример, основанный на этом 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/
источник