D3js: Как очистить масштаб увеличения, установленный событием d3.zoom?

Я использую поведение d3.behavior, чтобы прикрепить событие масштабирования к моему SVG, поэтому, когда колесо мыши используется, я могу получить событие масштабирования с translate и scale, которое затем использую для установки атрибута transform элемента.

Кажется, значение zoom.scale где-то постоянно, поэтому каждый раз, когда используется колесо мыши, оно всегда содержит правильное значение масштабирования с учетом всех предыдущих событий масштабирования. Это круто, но мне нужен способ очистить это значение, скажем, кнопка масштабирования сброса. Когда пользователь нажимает на кнопку, в следующий раз, когда он прокручивает для масштабирования, элемент снова будет масштабироваться от его первоначального размера.

Так где же D3 хранит это значение и как мне его сбросить?

ОБНОВИТЬ:
Этот вопрос также имеет другой аспект: если я программно установлю атрибут «transform» для преобразования масштабирования, событие масштабирования не примет это во внимание. Поэтому, если я позже использую колесо мыши для увеличения, я ввернут, потому что я могу уничтожить оригинальное преобразование. Таким образом, мне нужен способ программной установки, а не просто сброса, значения «translate» и «scale» события масштабирования, где бы оно ни хранилось.

Ответы на вопрос(1)

Ваш ответ на вопрос