Какие-нибудь примеры использования D3.brush () с Leaflet?


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?
Фрейзер Киркман

Это альтернатива кисти - github.com/w8r/leaflet-area-select
Фрейзер Киркман

Ответы:


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.