Google Earth根据边界框确定缩放级别

发布于 2024-09-10 00:26:23 字数 261 浏览 7 评论 0 原文

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

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

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

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

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

谢谢!!

I got a Windows Forms app making use of Google Earth where users can draw a polygon on the map which is used as a geofence.

What I'd like to do is to be able to zoom to the polygon so that it fits nicely on screen with a click of a button. A sort of zoom to fit function.

Finding the centre of the polygon and setting the Google Earth camera to that lat/long is easy.

What I need is an algorithm that takes a bounding box of lats \ longs, screen height \ width and then determines the altitude to set the camera.

Does anyone have this algorithm or know where one can be found?

Thanks!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我喜欢麦丽素 2024-09-17 00:26:23

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

请参阅方法 createBoundsViewsetToBoundsView尤其是 flyToObject

例如,其中 geGEPlugin 对象,polygonKmlPolygon

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

To "zoom to the polygon" or any other KmlObject it is probably easiest to use the earth-api-utility-library.

See the methods createBoundsView, setToBoundsView and especially flyToObject

For example, where ge is the GEPlugin object and polygon is a KmlPolygon.

var gex = new GEarthExtensions(ge);
gex.util.flyToObject(polygon, { boundsFallback: true, aspectRatio: 1 } );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文