2016-01-02 7 views
0

Скажем, у меня есть стандартная плиточная карта, как это: http://bl.ocks.org/mbostock/4132797Получить ограничивающую коробку/степень видимых фрагментов карты в d3

Как я могу получить координаты ограничивающего параллелепипеда видимой карты?

Другими словами, как я могу точно указать протяженность карты, отображаемой в любой момент времени. Я понимаю это как ограничительную шкатулку, но также как степень.

спасибо.

ответ

0

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

От Ильи Meeks-х answer:

Чтобы найти ограничительную рамку визуальной области вашей карты на экране, просто использовать функцию projection.invert() и кормить его в верхнем левом углу и нижний правый углы ваш SVG. Если у вас есть 500x500 SVG, то который выглядит следующим образом:

projection.invert([0,0])projection.invert([500,500]) Это ограничивающий прямоугольник экрана, в лат-долго (или любой другой координате систему, которую вы используете).

После этого вы можете получить оценку своих возможностей и проверить, являются ли они , они полностью или пересекаются или имеют центр тяжести в пределах тех границ. Я не собираюсь объяснять, как это сделать, потому что - это другой вопрос с множеством разных ответов в зависимости от , определение которого «в этих пределах» вы принимаете.

Таким образом, вилка в width и height видимой области в проекции генератора. Вуаля, у тебя есть коробка.