我编写了一个我想要嵌入的KML文件,以便在线创建3D地图。 我已成功使用Google地球插件发送文件并将其嵌入Blogger中,并验证了我的代码。但是,当我尝试使用插件并将代码嵌入我的网站时,它不起作用。我在我的服务器上托管了kml文件,该文件还托管了我要将地图发布到的网站。 (因此,KML文件不是来自计算机,而是托管在服务器上)。
由于Google Plug in无法嵌入文件,我试图找出原因。 我按照KML开发人员指南遵循了说明并添加了功能(见下文)
<script>
<html>
<head>
<script src="https://www.google.com/jsapi?key=YOURAPIKEY"></script>
<script>
google.load('earth','1', {'other_params':'sensor=false'});
var ge = null;
function init() {
google.earth.createInstance('map3d', initCallback, failureCallback);
}
function initCallback(pluginInstance) {
ge = pluginInstance;
ge.getWindow().setVisibility(true);
}
function failureCallback() {
// we can do something here if there's an error
}
</script>
</head>
<body onload="init()" id="body">
<div id="map3d" style="width: 500px; height: 500px;"></div>
</body>
</html>
但是,我不确定我错过了什么。为了使Google API能够运行,是否需要将更多Javascript添加到kml才能工作?我相信我需要完善kml,包括fetchkml的代码,但我已经用代码达到了死胡同。我在Google Earth API和kml上阅读了很多问题,但无法找到明确的答案,说明为什么这可以在Blogger上运行,但不能在我的网站上运行。 我在我的网站上拥有权限,因此这不是问题。
一些Stackoverflow问题已经帮助但没有清楚地回答我的问题:
Google Earth API, KML on local Web Server
帮助我将我的kml与Google Earth API和javascript集成的任何帮助表示赞赏。
答案 0 :(得分:0)
代码看起来与行
之外的AOK <script src="https://www.google.com/jsapi?key=YOURAPIKEY"></script>
真的应该在查询中包含你的api密钥,否则就是
<script src="https://www.google.com/jsapi"></script>
实际上,可能是您只是收到了无效的API密钥错误。
如果这不能解决,你可以发布一个链接到你的实际网站吗?