0

有时 ge 插件不会通过 fetchKml 函数加载 kml。发生这种情况时,我必须终止 ge 插件进程,然后它才能正常工作。

有没有办法在浏览器中做到这一点?setTimeout 将在未加载时捕获,我想重置插件以使其正常工作。

我想要类似 google.earth.reset();

谢谢

4

1 回答 1

1

没有重置功能,但是 GEPlugin 对象有一个未记录的 kill 方法。

// where ge is a reference to the plugin.
ge.kill_();

也就是说,kml 似乎没有加载可能是有原因的,正如 nuxy 所说,如果您发布您正在使用的实际代码的示例,那么提供帮助会更容易。

编辑:

此外,您可以重新加载将重置插件的数据库,而不是使用未记录的方法。类似以下设置的东西应该可以正常工作。

var ge = null;
google.earth.createInstance('map3d', initCallback, failureCallback);

var initCallback = function(object) {
  ge = object;
  ge.getWindow().setVisibility(true);
}

var failureCallback = function(error) {
  alert(error):
}

var reset = function() {
  document.getElementById('map3d').innerHTML = '';
  google.earth.createInstance('map3d', initCallback, failureCallback);
}

要使用只需调用重置方法。

重置();

于 2012-08-13T20:23:39.790 回答