Ich habe eine Broschüren-Karte, auf der ich mithilfe des Broschüren-Overlay-Bereichs eine SVG "über" platziert habe. Ich möchte dem Überlagerungsbereich einen D3-Pinsel hinzufügen, der dann ein separates Diagramm aktualisiert. Ich habe mich nach Beispielen für simultane D3.brush () - und Faltblattbeispiele umgesehen, kann aber keine finden.
Das nächste, was ich gefunden habe, war dieses https://github.com/mbostock/d3/issues/1321 und dieses https://www.mapbox.com/mapbox.js/example/v1.0.0/timeline-scaled-markers/ (Dies bürstet das Diagramm, nicht die Karte).
Ich habe mich gefragt, ob:
- Jeder kannte Beispiele, ODER
- Jeder wusste, ob dies möglich / einigermaßen einfach war, ODER
- Wenn möglich, hatte jemand Tipps zu den Problemen, auf die ich stoßen könnte.
Antworten:
Ich habe gerade ein grundlegendes Beispiel gemacht, das auf diesem Block basiert .
Prozess
füge deine Ebenengruppe der Karte hinzu (von GeoJSON)
Speichern Sie Ihre Ebenengruppe in einer Variablen, dh
var layer_group = L.geoJSON(json, {...}).addTo(your_map);
In Ihrer
brushended
Funktion, iterierenlayer_group.eachLayer()
und die Verwendungyour_map.removeLayer(layer)
undyour_map.addLayer(layer)
die Funktion Sichtbarkeit zu steuern.Hier ist die JSFiddle: https://jsfiddle.net/0dyjkk2h/2/
quelle