ตัวอย่างใด ๆ ของ 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 หรือไม่?
Frazer Kirkman

นี่เป็นอีกทางเลือกหนึ่งในการแปรง - github.com/w8r/leaflet-area-select
Frazer Kirkman

คำตอบ:


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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.