Saya memiliki peta selebaran yang telah saya tempatkan SVG "di atas" menggunakan panel hamparan selebaran. Saya ingin menambahkan sikat D3 ke panel overlay yang kemudian akan memperbarui bagan terpisah. Saya telah mencari-cari contoh D3.brush () dan contoh leaflet secara simultan tetapi sepertinya tidak dapat menemukannya.
Hal terdekat yang saya temukan adalah https://github.com/mbostock/d3/issues/1321 ini dan ini https://www.mapbox.com/mapbox.js/example/v1.0.0/timeline-scaled-markers/ (Ini adalah menyikat grafik bukan peta).
Saya bertanya-tanya apakah:
- Ada yang tahu contoh, ATAU
- Ada yang tahu apakah ini mungkin / cukup mudah, ATAU
- Jika memungkinkan, ada yang punya tips tentang masalah yang mungkin saya temui.
Jawaban:
Saya baru saja membuat satu contoh dasar berdasarkan bl.ock ini .
Proses
tambahkan grup layer Anda ke peta (dari GeoJSON)
simpan grup layer Anda dalam sebuah variabel, yaitu
var layer_group = L.geoJSON(json, {...}).addTo(your_map);
Dalam
brushended
fungsi Anda , beralihlahlayer_group.eachLayer()
dan gunakanyour_map.removeLayer(layer)
danyour_map.addLayer(layer)
untuk mengontrol visibilitas fitur.Inilah JSFiddle: https://jsfiddle.net/0dyjkk2h/2/
sumber