D3js: Wie lösche ich den Zoomfaktor, der durch das Ereignis d3.zoom festgelegt wurde?

Ich benutze das d3.-Verhalten, um meinem SVG ein Zoom-Ereignis zuzuordnen. Dann wird das Mausrad verwendet. Ich kann ein Zoom-Ereignis mit translate und scale abrufen, mit dem ich dann das Transformationsattribut des Elements festlege.

Es scheint, dass der zoom.scale-Wert irgendwo dauerhaft ist, sodass er bei jeder Verwendung des Mausrads immer den richtigen Zoomwert enthält, unter Berücksichtigung aller vorherigen Zoomereignisse. Das ist cool, aber ich brauche eine Möglichkeit, diesen Wert zu löschen, beispielsweise eine Schaltfläche zum Zurücksetzen des Zooms. Wenn der Benutzer auf die Schaltfläche klickt, wird das Element beim nächsten Scrollen zum Zoomen wieder von seiner ursprünglichen Größe skaliert.

Wo speichert D3 diesen Wert und wie setze ich ihn zurück?

AKTUALISIEREN:
Diese Frage hat auch einen anderen Aspekt: ​​Wenn ich das Attribut "transform" programmgesteuert für eine Skalierungstransformation einstelle, berücksichtigt das Zoom-Ereignis diese nicht. Wenn ich also später das Mausrad zum Zoomen benutze, bin ich verrückt, weil ich die ursprüngliche Transformation verwerfen kann. Daher brauche ich eine Möglichkeit, den Wert für "Übersetzen" und "Skalieren" des Zoom-Ereignisses programmgesteuert festzulegen und nicht nur zurückzusetzen, wo immer sie gespeichert werden.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage