开发者

Google Earth Determining zoom level from bounding box

开发者 https://www.devze.com 2023-01-06 23:03 出处:网络
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.

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 e开发者_JAVA百科asy.

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!!


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 } );
0

精彩评论

暂无评论...
验证码 换一张
取 消