我们有一个 KMZ 文件,可以很好地加载到 Google 地球桌面应用程序中。没有错误。
当我们尝试使用 Google Earth 插件来做同样的事情时,它甚至不会从fetchKml
功能。我们需要了解使用的任何特殊设置fetchKml
在本地文件上?
我正在尝试像这样加载文件:
// Where 'ge' is the Google Earth Plugin
var href = 'C:/KMLDATA/TEST.KMZ';
google.earth.fetchKml(ge, href, function(kml) { /* do something with kml */ });
这与 Google 地球插件本身无关,而是与 JavaScript 沙箱有关。
基本上 JavaScript 无法访问本地文件系统 - 因此您不能简单地使用本地文件的路径,例如代码中的路径...
var href = 'C:/KMLDATA/TEST.KMZ';
google.earth.fetchKml(ge, href, function(kmlObject) { ... }
要在浏览器中处理本地文件,您有多种选择。
设置本地文件服务器并通过 http 提供文件服务器。这是
在任何操作系统中都相对容易做到。以便C:/KMLDATA/TEST.KMZ
可能
变得http://localhost/KMLDATA/TEST.KMZ
使用一些可以访问文件系统的“插件”对象。一点点
在所有浏览器上工作更加棘手和困难。某物
如 ActiveX、XPCOM、签名 Java 小程序等。我举了一个例子
加载本地 .kml 文件通过 ActiveX 进入插件 -
显然它只能在 IE 中运行。
使用 HTML5 中的文件 api。很多代码,但我没有用 kml 实际尝试过。这
教程非常全面,涵盖了大多数方面。
我想说,到目前为止,选项 1 是你最好的选择。设置本地文件服务器将允许您轻松加载和测试所有 kml/kmz 文件。
如果这对您来说都是不可能或不想要的,那么正如其他人所建议的那样,将文件托管在公共服务器上确实是唯一的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)