0

我无法成功显示我的辅助数据库(来自 Mapsengine/Earthbuilder 的地图)。我已经安装了 Google 插件并尝试从 Firefox、Chrome 和 IE 浏览器访问它,但似乎没有任何效果。我不确定自己做错了什么,因为我已经使用 Google 代码游乐场中使用的代码确认了我的代码,并且我尝试了过去类似问题中建议的解决方法(问题 21:GMaps Engine Layer Disappeared over GEarth 插件)。在指定要在 GE 插件中显示的地图的 URL 时,我什至更改了 URL 以包含 &export=download,这是我在另一个类似问题中看到的修复之一(它是关于来自 google 文档的 kml 文件)。

奇怪的是,当我的网页被访问时,它并没有给出侧库下载失败的错误。我在下面包含了部分代码。

任何帮助将不胜感激。

提前致谢,


<script type="text/javascript">
    var CHO;
google.load("earth", "1");

function init() {
  google.earth.createInstance('map3d', initCB, failureCB);
}

function initCB(instance) {
  CHO = instance;
  CHO.getWindow().setVisibility(true);

  CHO.getNavigationControl().setVisibility(CHO.VISIBILITY_AUTO);
  CHO.getLayerRoot().enableLayerById(CHO.LAYER_BORDERS, true);
  CHO.getLayerRoot().enableLayerById(CHO.LAYER_ROADS, true);

  addSideDatabase()


  // Add controls for the window
  CHO.getOptions().setStatusBarVisibility(true);
  CHO.getNavigationControl().setVisibility(CHO.VISIBILITY_AUTO);

  // Update the view in Google Earth
  var lookAt = CHO.createLookAt('');
  lookAt.setLatitude(30.0);
  lookAt.setLongitude(-90.0);
  lookAt.setRange(9500000); //default is 0.0
  CHO.getView().setAbstractView(lookAt);
  }

  function failureCB(errorCode) {
    alert(errorCode);
  }

  function sideDatabaseSuccess(db) {
  sideDatabase = db;
   db.setDrawOrder(2);
  }

  function sideDatabaseFail() {
     alert('Sorry! Side database failed to load!');
  }

  /** Add the URL for the globe served by Earth Enterprise or Earth Builder.
  *     This function operates similarly to the File => Add Database feature
  *     in Google Earth EC.
  */
  function addSideDatabase() {

    google.earth.addSideDatabase(
    CHO, "https://mapsengine.google.com/map/edit?mid=zHgXRX6Mts2Q.kHGFoYZlcyBQ&export=download",
  sideDatabaseSuccess,
  sideDatabaseFail,
  {
    userName: '',
    password: '' 
  }
);
  }google.setOnLoadCallback(init);</script> 
4

2 回答 2

0

您尝试加载的是地图,而不是地球仪。两者不等价。您无法在 Google 地球中加载地图。

从好的方面来说,您的侧载代码是正确的。将您的 URL 替换为http://laearth.la.gov(路易斯安那州的自定义 Google 地球服务器),它将起作用。

于 2013-05-09T01:45:35.917 回答
0

该网址是 Google Maps Engine Lite 地图的网址吗?如果是这样,那可能就是问题所在。我刚刚尝试在此处的 Google Code Playground示例http://code.google.com/apis/ajax/playground /#adding_a_side_database。那个有效,但我的 Google Maps Engine Lite URL 没有。此外,它甚至似乎都没有调用它的成功或失败回调函数!

于 2013-08-16T12:01:49.383 回答