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

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

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

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

ОБНОВИТЬ:

Этот вопрос также имеет другой аспект: если я программно установлюпреобразование» Атрибут для преобразования масштабирования, событие масштабирования не примет это во внимание. Поэтому, если я позже использую колесо мыши для увеличения, я ввернут, потому что я могу уничтожить оригинальное преобразование. Таким образом, мне нужен способ программно установить, а не просто сбросить "переведите" а также "масштаб" значение события масштабирования, где бы оно ни хранилось.

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

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