Я получил приложение Windows Forms, использующее Google Earth, где пользователи могут потянуть полигон на карте, которая используется в качестве геозабора.
То, что я хотел бы сделать, должно смочь масштабировать к полигону так, чтобы он соответствовал приятно на экране щелчком кнопки. Своего рода масштабирование для установки функции.
Нахождение центра полигона и установка камеры Google Earth, к которой lat/long легок.
То, в чем я нуждаюсь, является алгоритмом, который берет ограничительную рамку лата \longs, экранная высота \ширина и затем определяет высоту для установки камеры.
Кто-либо имеет этот алгоритм или знает, где можно быть найден?
Спасибо!!
Для «увеличения до многоугольника» или любого другого KmlObject
, вероятно, проще всего использовать earth-api-utility-library .
См. Методы createBoundsView , setToBoundsView и особенно flyToObject
. Например, где ge
- это GEPlugin
объект, а многоугольник
- это KmlPolygon
.
var gex = new GEarthExtensions(ge);
gex.util.flyToObject(polygon, { boundsFallback: true, aspectRatio: 1 } );