如何链接到KMZ文件中的内部文件?

时间:2009-05-06 03:24:13

标签: gis kml google-earth kmz

我正在尝试设置一个KMZ文件,以便在Google地球中使用,其中气球内容主要在HTML文件中定义,这些文件是使用iframe嵌入的。当使用本地文件系统上的相对链接时,设置使用普通的KML文件和额外的HTML文件(假设启用了文件系统访问)。

我的问题是我找不到以相互关联的方式创建包含所有文件的KMZ文件的方法。 KML规范根本没有谈论这个问题(实际上KMZ在整个文档中只出现了几次)。我也找不到关于KMZ的任何其他文件。

是否可以链接到KMZ中的其他HTML文件?如果是的话:怎么样?

2 个答案:

答案 0 :(得分:1)

是的,Kml规范允许这样做,你只需使用相对路径。

但是,您的问题与某些类型的内容中的特定应用程序中的安全限制有关。

例如,完整的Google地球客户端允许您将Flash(swf)内容加载到Balloons中,而Goggle Earth Plug-in则不会。 iFramed内容等也是如此。

所以问题的答案完全取决于你在哪个应用程序中查看Kml / kmz并且与Kml或Kmz规范无关。

答案 1 :(得分:1)

意识到有OGC KML Standard以及如何在Google地球软件中解释和实施该标准的规范。特别是在Google Earth实施的规范中,有一些灰色区域没有明确定义。管理KMZ文件和嵌入内容的规则没有明确定义,并且显然是特定于实现的。一些细节在Google KML Reference文档中定义,有些则不是。可以在KML Errata中找到KML和Google地球的一些不一致和未记录的功能。

对于哪些媒体内容(嵌入在KMZ文件中)可以在描述气球中内嵌显示以及可以链接和访问哪些内容存在限制。

以下是KMZ Tutorial

中列出的<iframe>内容的一些限制
  

<src>元素中的<iframe>元素无法指向本地元素   磁盘上的文件,也不能指向KMZ文件中的文件;它必须   指向浏览器可以访问的Internet上的URL。

作为此规则的一个例外,您实际上可以在KMZ文件中包含一个HTML文件,并将其作为<src>元素包含在功能描述中的<iframe>元素中,并带有相对URL但不是很多其他支持媒体类型。

如果您在工具/选项/常规菜单面板中启用“允许访问本地文件和个人数据”选项,则会放宽一些访问规则,并且可以访问某些内容链接(例如, HTML,PDF等)就像你从网络浏览器那样,但主要是KMZ文件外部的本地文件。