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