我正在尝试使用worldwind java设置图层,我想在 map 上的特定地理位置处渲染图标。我有工作,但我希望能够缩放到所有图标所在的位置。有没有简单的方法可以做到这一点?我不太确定从哪里开始。是否存在放大一组点的现有方法?

最佳答案

首先,您需要计算包含所有点的Sector。例如

Sector boundingSector = Sector.boundingSector(points);
//public static Sector boundingSector(Iterable<? extends LatLon> itrbl)

现在,这里是一些来自ScankortDenmark示例的代码,用于计算您需要适合屏幕上整个扇区的缩放比例:
// From ScankortDenmark example
public static double computeZoomForExtent(Sector sector)
{
    Angle delta = sector.getDeltaLat();
    if (sector.getDeltaLon().compareTo(delta) > 0)
        delta = sector.getDeltaLon();
    double arcLength = delta.radians * Earth.WGS84_EQUATORIAL_RADIUS;
    double fieldOfView = Configuration.getDoubleValue(AVKey.FOV, 45.0);
    return arcLength / (2 * Math.tan(fieldOfView / 2.0));
}

关于java - 设置世界风 map 的缩放级别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5969829/

10-11 03:55