【问题标题】:Google Earth Determining zoom level from bounding box谷歌地球从边界框确定缩放级别
【发布时间】:2014-01-14 00:41:55
【问题描述】:

我有一个使用 Google 地球的 Windows 窗体应用程序,用户可以在该应用程序中在地图上绘制一个用作地理围栏的多边形。

我想做的是能够缩放到多边形,以便只需单击一个按钮就可以很好地适应屏幕。一种缩放以适应功能。

找到多边形的中心并将 Google 地球相机设置为该纬度/经度很容易。

我需要的是一个算法,它需要一个由纬度\经度、屏幕高度\宽度组成的边界框,然后确定设置相机的高度。

有没有人有这个算法或者知道在哪里可以找到?

谢谢!!

【问题讨论】:

    标签: geospatial google-earth computational-geometry google-earth-plugin


    【解决方案1】:

    要“缩放到多边形”或任何其他KmlObject,使用earth-api-utility-library 可能是最简单的。

    查看方法createBoundsViewsetToBoundsView,尤其是flyToObject

    例如,其中geGEPlugin 对象,polygonKmlPolygon

    var gex = new GEarthExtensions(ge);
    gex.util.flyToObject(polygon, { boundsFallback: true, aspectRatio: 1 } );
    

    【讨论】:

    • 这有几个问题。首先,要找到弦长的一半,您应该使用var dist = r * Math.sin(d / 2),因为半径是相关三角形的斜边(而不是相邻边)。其次,您用作中心的平均纬度/经度在许多情况下是不正确的(例如,跨越“超过”一个半球数字线)。
    • 公平地说,我从来没有真正使用过它,它来自这里:groups.google.com/forum/?fromgroups#!topic/… - 我现在实际上建议使用 earth-api-utility-library [code.google.com/p/earth-api-utility-library/wiki/…
    猜你喜欢
    • 2013-02-27
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 2012-09-08
    • 2017-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多