2017-10-31 1 views
0

Ich benutze https://bl.ocks.org/mbostock/899711 als Basis, um eine Google Map zu zeichnen, die Punkte aus einer Datatables-Tabelle hat. Wenn ich die Tabelle der Datentabelle filtere, möchte ich, dass die Punkte auf der Karte als solche gefiltert werden.d3 + Google Map - Entferne Datenpunkte

Wenn ich aus irgendeinem Grund exit().remove() verwende, werden alle Punkte entfernt.

Um meinen Code zu simulieren, gab ich Mikes Beispiel und fügte den exit(). Remove() -Aufruf hinzu. Siehe https://bl.ocks.org/louking/a62333735faca758cb70d431b790f463

Wie Sie sehen können, wird der Block

// trying to remove points which do not show up on reload 
    .exit().remove() 
    // end trying to remove points which do not show up on reload 

die Punkte bewirkt, alle verschwinden.

Wie kann ich das beheben? Und bitte erkläre, was hier vor sich geht.

Vielen Dank im Voraus!

Antwort

1

Sie können alle Methoden nur bei Auswahl eingeben oder beenden. Sie können durch dieses kurze Tutorial auf d3 Update-Muster here gehen.

// trying to remove points which do not show up on reload 
marker.exit().remove() 
// end trying to remove points which do not show up on reload 
marker.enter().append("svg") 
     .each(transform) 
     .attr("class", "marker"); 
+0

Der Link, den Sie gepostet haben, war auf Übergängen. Ich benutzte https://bl.ocks.org/mbostock/3808218 als Anleitung. Es scheint, als ob der Fehler, den ich gemacht habe, davon ausgegangen wurde, dass der Marker nach var marker = layer.selectAll ("svg") .data (d3.entries (data)) zurückgegeben wurde. Die Arbeitsversion befindet sich in https://codepen.io/louking/pen/zPreZR –