7

我得到了一个使用Google地球的Windows窗体应用程序,用户可以在用作地理围栏的地图上绘制多边形。Google地球从边界框确定缩放级别

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

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

我需要的是一个算法,它需要一个lats \ longs,screen height \ width的边界框,然后确定设置摄像机的高度。

有没有人有此算法或知道哪里可以找到?

谢谢!

回答

7

要“缩放到多边形”或任何其他KmlObject它可能是最容易使用earth-api-utility-library

见方法createBoundsViewsetToBoundsView和尤其flyToObject

例如,当geGEPlugin对象和polygonKmlPolygon

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

这有几个问题。首先,要找到弦长的一半,应该使用'var dist = r * Math.sin(d/2)',因为半径是相关三角形的斜边(而不是相邻边)。其次,在许多情况下,您用作中心的平均经度/纬度将不正确(例如,在“超过”半球数的情况下)。 – natevw 2012-06-24 05:02:06

+0

为了公平起见,我从来没有真正使用它,它是从这里:https://groups.google.com/forum/?fromgroups#!topic/google-earth-browser-plugin/mGBMtHUU1FM - 我现在实际上建议使用earth-api-utility-library [http://code.google.com/p/earth-api-utility-library/wiki/GEarthExtensionsViewReference – Fraser 2012-06-27 23:43:13

相关问题