Google地球插件未从Mapsengine / Earthbuilder加载sideDatabase

时间:2013-05-08 17:08:50

标签: javascript google-maps google-earth google-earth-plugin

我无法成功显示我的边数据库(Mapsengine / Earthbuilder地图)。我已经安装了谷歌插件,并试图从Firefox,Chrome和IE浏览器访问它,似乎没有任何工作。我不确定我做错了什么,因为我已经使用Google Code Playground中使用的代码确认了我的代码,并且我尝试了过去在类似问题中提出的解决方法(问题21:GMaps Engine Layer消失了GEarth插件)。在指定要在GE插件中显示的地图的URL时,我甚至将URL更改为包括& export = download,这是我在另一个类似问题中看到的修复之一(它是关于来自google docs的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> 

2 个答案:

答案 0 :(得分:0)

您要加载的是地图,而不是地球。这两者并不相同。您无法在Google地球中加载地图。

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

答案 1 :(得分:0)

Google Maps Engine精简版地图的网址是?如果是这样,那可能就是问题所在。我刚刚尝试在此处使用Google代码Playground示例https://earthbuilder.google.com/10446176163891957399-13516001307527776624-4/kh/中的网址(http://code.google.com/apis/ajax/playground/#adding_a_side_database)进行交换。那个工作,但我的谷歌地图引擎精简版URL没有。此外,它似乎甚至没有称其成功或失败的回调函数!