Я работаю с worldwind и пытаюсь найти координаты вверху слева, вверху справа, внизу слева, внизу справа текущего вида worldwind.
Когда я говорю координаты, я ищу +/- 90 градусов широты и +/- 180 градусов долготы. Как проще всего это сделать.
Я работаю с worldwind и пытаюсь найти координаты вверху слева, вверху справа, внизу слева, внизу справа текущего вида worldwind.
Когда я говорю координаты, я ищу +/- 90 градусов широты и +/- 180 градусов долготы. Как проще всего это сделать.
Если у вас есть gov.nasa.worldwind.WorldWindow
, скажем, worldWindow
, то вы можете получить его текущий вид следующим образом:
View curView = worldWindow.getView();
... где curView
относится к классу gov.nasa.worldwind.View
; см. здесь. Затем вы можете получить «порт просмотра» представления следующим образом:
Rectangle viewPort = curView.getViewport();
... где viewPort
это java.awt.Rectangle
. Далее нам нужно вычислить положение каждой точки этого прямоугольника из точки экрана:
Position topLeft = curView.computePositionFromScreenPoint(0, 0);
Position botRight = curView.computePositionFromScreenPoint(viewPort.width, viewPort.height);
... где topLeft
, botRight
относятся к классу gov.nasa.worldwind.geom.Position
. Нижний левый и верхний правый должны быть очевидны из приведенной выше конструкции.
gov.nasa.worldwind.View имеет метод computePositionFromScreenPoint