【问题标题】:Calculate range and altitude of the Google Earth KML LookAt element to fit all features (polygons)计算 Google 地球 KML LookAt 元素的范围和高度以适合所有要素(多边形)
【发布时间】:2011-03-30 19:32:59
【问题描述】:

我在谷歌地球插件的表面上绘制了几个多边形。我从它们生成一个 KML。

问题是如何计算 LookAt 的参数,以便在桌面 Google 地球中打开时视图包含所有多边形? 对于 lat 和 lon,这很简单 - 只需计算边界框的中心,但是高度和范围参数呢?

例如我们有两个多边形:

1:
    40.724536 -74.001914
    40.724102 -74.001091
    40.723003 -74.002067
    40.723392 -74.002891
2:
    40.723186 -74.003112
    40.722843 -74.002311
    40.721977 -74.003036
    40.722320 -74.003738

那么 lon 和 lat 将是
lon=(40.724536+40.721977)/2=40.7232565
纬度=-(74.001091+74.003738)/2=-74.0024145

现在如何计算距离和高度?

【问题讨论】:

标签: kml google-earth-plugin


【解决方案1】:

看看Google Earth API Utility Library。它增强了 Earth API 的功能,提供了有用的帮助方法,这些方法为您完成了常用任务。

它包含一个createBoundsView() method,它将为您构建一个LookAt 对象,该对象配置为适合视口内的给定边界框。完全符合我的想法。例如

function flyToBox(max_x, max_y, min_x, min_y) {
  var bounds = new geo.Bounds([min_y, min_x], [max_y, max_x]);
  var options = {aspectRatio : $('#map3d').width() / $('#map3d').height(), scaleRange : 2};
  ge.getView().setAbstractView(gex.view.createBoundsView(bounds, options));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    相关资源
    最近更新 更多