7

Tôi có ứng dụng Windows Forms sử dụng Google Earth nơi người dùng có thể vẽ đa giác trên bản đồ được sử dụng làm địa lý.Google Earth Xác định mức thu phóng từ hộp giới hạn

Điều tôi muốn làm là có thể phóng to đa giác sao cho nó vừa khít với màn hình chỉ với một cú nhấp chuột. Một loại zoom để phù hợp với chức năng.

Tìm trung tâm đa giác và đặt máy ảnh Google Earth thành lat/long đó thật dễ dàng.

Điều tôi cần là một thuật toán có hộp giới hạn của thời gian dài, chiều cao màn hình \ chiều rộng và sau đó xác định độ cao để đặt camera.

Có ai có thuật toán này hay không biết ai có thể tìm thấy?

Cảm ơn !!

Trả lời

7

Để "thu phóng đa giác" hoặc bất kỳ số nào khác KmlObject, có lẽ dễ nhất là sử dụng earth-api-utility-library.

Xem những phương pháp createBoundsView, setToBoundsView và đặc biệt là flyToObject

Ví dụ, nơi ge là đối tượng GEPluginpolygon là một KmlPolygon.

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

Có một vài vấn đề với điều này. Trước hết, để tìm nửa chiều dài hợp âm, bạn nên sử dụng 'var dist = r * Math.sin (d/2)' vì bán kính là cạnh huyền (không phải cạnh kề) của tam giác có liên quan. Thứ hai, vĩ độ/kinh độ trung bình bạn sử dụng làm trung tâm sẽ không chính xác trong nhiều trường hợp (ví dụ: trên "nhiều hơn" một số dòng bán cầu-khôn ngoan). – natevw

+0

Để công bằng, tôi không bao giờ thực sự sử dụng nó, nó là từ đây: https://groups.google.com/forum/?fromgroups#!topic/google-earth-browser-plugin/mGBMtHUU1FM - Tôi thực sự bây giờ đề nghị sử dụng earth-api-utility-library [http://code.google.com/p/earth-api-utility-library/wiki/GEarthExtensionsViewReference – Fraser

Các vấn đề liên quan