代码:
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);
出于某种原因,这在我的 PC 上的每个浏览器中都有效 - 但是当我在办公室周围的随机计算机和浏览器上进行测试时,它无法显示标记或将相机从 kml 移动。
操作系统和浏览器范围从 XP 到 Vista,并使用 FF、Chrome、IE7、IE8 - 没有失败的模式。
失败的插件与工作插件的版本相同。
这对我来说是一件令人毛骨悚然的事情,因为我看不出失败在哪里。
编辑:
只是为了说明清楚-它在所有这些浏览器和所有这些操作系统中都有效-但并非总是如此,而且并非始终如一...
javascript 或 kml 在它工作和不工作之间没有变化。
kml 是有效的文件
所有浏览器报告他们使用相同的插件版本