Как получить координаты и размер прямоугольника области просмотра элемента svg g, модифицированного с помощью d3-zoom - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь реализовать мини-карту для моего редактора векторной графики. Я использую d3-zoom для увеличения.

Я создал демонстрационное приложение, чтобы показать мою проблему. https://codesandbox.io/s/zoom-mini-map-y4rlm?fontsize=14&hidenavigation=1&theme=dark

Левый прямоугольник - это окно просмотра редактора, справа - мини-карта (они имеют одинаковый размер для упрощения задачи). Маленький синий прямоугольник на правой мини-карте должен отображать область просмотра. ,

Mini map

Эта функция должна обновлять viewPortRect, расположенный на миникарте, для отображения текущей области видового экрана в окне просмотра редактора.

Zoom function

Я пробовал много разных подходов, но все разрушает, когда k <> 1

Как я могу получить фактические координаты левого верхнего угла окна просмотра редактора и его ширину / размер отображать синий прямоугольник как маркер мини-карты.

...