2

我有一个网页加载了一个 kml 文件,以便使用 Google Earth ge 插件查看。文件加载并显示正常。但是,我可以让插件移动到文件末尾的纬度/经度。负载始终将相机留在与 kml 文件的终点相对应的纬度/经度。

这是代码:

var ge;

google.load("earth", "1");
google.load("maps", "2");

function init() {
  google.earth.createInstance('map3d', initCallback, failureCallback);
}

function initCallback(instance) {
  ge = instance;
  ge.getWindow().setVisibility(true);
  ge.getNavigationControl().setVisibility(ge.VISIBILITY_AUTO);
  ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, true);
  ge.getLayerRoot().enableLayerById(ge.LAYER_ROADS, true);
  ge.getOptions().setFlyToSpeed(ge.SPEED_TELEPORT);

  var url = 'http://rallyroadie.org/wordpress/ge/vladi_finish.kml';
  google.earth.fetchKml(ge, url, finished);
}

function finished(object) {
  if (!object) {
    setTimeout(function() {
      alert('Bad or null KML.');
    }, 0);
    return;
  }
  ge.getFeatures().appendChild(object);

  var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);

  // Set new latitude and longitude values.
  lookAt.setLatitude(43.023157);
  lookAt.setLongitude(131.853040);

  // Update the view in Google Earth.
  ge.getView().setAbstractView(lookAt);
}

function failureCallback(errorCode) {
}

google.setOnLoadCallback(init);         

您可以在http://rallyroadie.org/wordpress/ge/vladi.html看到该页面

TIA,保罗

4

1 回答 1

0

您想知道如何设置初始视图吗?如果是这样:

您当前正在使用此代码进行设置 -

  var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);

  // Set new latitude and longitude values.
  lookAt.setLatitude(43.023157);
  lookAt.setLongitude(131.853040);

  // Update the view in Google Earth.
  ge.getView().setAbstractView(lookAt);

尝试使用不同的纬度和经度数字,您会看到差异。您还可以使用诸如lookAt.setRange、lookAt.setTilt 和lookAt.setAltitude 之类的东西

有关详细信息,请参阅此链接

它与您加载的 .kml 文件无关。

于 2012-12-10T06:14:25.713 回答