我正在使用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