2

我一直在搜索文档和示例,但没有看到任何好的演示向我展示我想做的事情:

如何将 World Wind Java 中的视图限制在特定区域?就像允许用户移动世界一样,但只能通过一个小区域。在我的情况下,删除移动相机并将视图设置到特定位置的功能会起作用,但这样做似乎浪费了 WWJ 令人难以置信的查看功能。

4

1 回答 1

4

实际上在 gov.nasa.worldwindx.examples 中有一个如何执行此操作的示例(我只是在查看演示):ViewLimits。

可以将WorldWindowGLCanvas的视图投射到OrbitView. 然后可以这样应用限制:

OrbitView viewbounds = (OrbitView)wwd.getView();
if (viewbounds != null)
{
    OrbitViewLimits limits = viewbounds.getOrbitViewLimits();
    if (limits != null)
    {
        viewLimit = new Sector();// Fill with appropriate bounds
        limits.setCenterLocationLimits(viewLimit);
        limits.setPitchLimits(Angle.fromDegrees(0), Angle.fromDegrees(90));
        //^in degrees downward from looking directly at the earth
        limits.setHeadingLimits(Angle.ZERO, Angle.ZERO);// rotation cw or ccw
        limits.setZoomLimits(minZoom, maxZoom);// in meters
        BasicOrbitViewLimits.applyLimits(viewbounds, limits);
    }
}
于 2012-12-07T06:35:09.230 回答