Мне удалось найти ответы на похожие, но конкретные вопросы, но я оставляю это на случай, если кто-то ищет общий случай.
От Ильи Meeks-х answer:
Чтобы найти ограничительную рамку визуальной области вашей карты на экране, просто использовать функцию projection.invert()
и кормить его в верхнем левом углу и нижний правый углы ваш SVG. Если у вас есть 500x500 SVG, то который выглядит следующим образом:
projection.invert([0,0])
projection.invert([500,500])
Это ограничивающий прямоугольник экрана, в лат-долго (или любой другой координате систему, которую вы используете).
После этого вы можете получить оценку своих возможностей и проверить, являются ли они , они полностью или пересекаются или имеют центр тяжести в пределах тех границ. Я не собираюсь объяснять, как это сделать, потому что - это другой вопрос с множеством разных ответов в зависимости от , определение которого «в этих пределах» вы принимаете.
Таким образом, вилка в width
и height
видимой области в проекции генератора. Вуаля, у тебя есть коробка.