Google地球插件API - 如何获取当前地图比例?

use*_*711 2 javascript google-earth-plugin computational-geometry

我有一个托管Google Earth Plugin实例的应用程序,我有兴趣获取当前的地图比例并在我的应用程序中使用它.

我知道我可以使用GEOptions并设置Scale Legend可见性,但我想在我的应用程序中使用实际的比例值,但我找不到它的API.

有没有办法做到这一点?

如果没有,我如何使用当前视图计算当前比例?

小智 5

我使用以下函数从Google地球插件API 获取近似比例.这是根据相机从地面的高度计算出来的.地球的倾斜,平移等不会影响返回的值.这是一个简单的功能,如果您只需要了解相机和地面之间的实际地图比例的一般概念,那么效果很好.即使相机倾斜观察地平线,这仍然会使用计算,就好像相机正在向下看.

当相机倾斜时,没有可以计算的单个刻度,因为刻度在可见地图上的任何给定点处发生变化.距离中的两个点在屏幕上的每个像素的距离与相机附近的两个点之间的距离不同.刻度图例实际上也是近似值,因为距离仅在可见地图的特定部分上是准确的.

function getScale() {
    var camera = ge.getView().copyAsCamera(ge.ALTITUDE_RELATIVE_TO_GROUND),
        eyeAlt,
        scale;
    eyeAlt = camera.getAltitude();

    scale = Math.round(eyeAlt * 10.5);
    return scale;
}
Run Code Online (Sandbox Code Playgroud)