代码:
google.load("earth", "1");
function gemap_init()
{
google.earth.createInstance('gemap', initCB, failureCB);
}
function initCB(instance)
{
try {
ge = instance;
ge.getWindow().setVisibility(true);
console.log(ge.getPluginVersion());
google.earth.fetchKml(ge,
'http://example.com.au/maps/example.kml',
function (kmlObject) {
if (kmlObject) {
ge.getFeatures().appendChild(kmlObject);
}
if (kmlObject.getAbstractView() !== null) {
ge.getView().setAbstractView(kmlObject.getAbstractView());
}
}
);
} catch (e) {
console.log(e);
}
}
function failureCB(errorCode)
{
alert(errorCode);
}
google.setOnLoadCallback(gemap_init);
出于某种原因,这在我的电脑上的每个浏览器中都有效 - 但是当我在办公室里的随机电脑和浏览器上进行测试时,它无法显示标记或从kml移动相机。
操作系统和浏览器的范围从XP到Vista,使用FF,Chrome,IE7,IE8 - 没有失败模式。
失败的插件与工作插件的版本相同。
这对我来说正在成为一个令人毛骨悚然的事件,因为我无法看到失败的地方。
编辑:
只是为了说清楚 - 它适用于所有这些浏览器和所有这些操作系统 - 但并非总是如此,而且并非始终如一......
工作和不工作之间的javascript或kml没有变化。
kml是有效的文件
所有浏览器都报告他们使用相同的插件版本
答案 0 :(得分:0)
弗雷泽的评论提醒说,这个问题是开放的......
我们通过附加唯一ID来解决问题,只要更新服务器上的KML数据,就会重新生成。
这似乎破坏了GE缓存,我们不再有任何问题,在插件中加载了丢失或过时的数据。