3

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

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

是否可以链接到 KMZ 中的其他 HTML 文件?如果是:如何?

4

2 回答 2

1

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

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

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

因此,问题的答案将完全取决于您在哪个应用程序中查看 Kml/kmz,与 Kml 或 Kmz 规范无关。

于 2009-08-28T15:58:59.437 回答
1

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

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

以下是KMZ 教程<iframe>中列出的内容的一些限制

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

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

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

于 2013-03-16T01:57:10.647 回答