在传单地图中使用 KMZ 文件

Using KMZ file in Leaflet Map

我必须在传单地图中使用 KMZ 文件。我找到了在 Leaflet Maps 中使用 KML 文件的好插件和教程,但找不到使用 KMZ 文件的方法。

其中一个使用 KML 的插件是:Leaflet-Omnivore。 对于 KML,我所要做的就是(我的传单地图在我的 ExtJs 应用程序中):

var myMap =  Ext.ComponentQuery.query("leaflet")[0];
myMap.getMap().addLayer(omnivore.kml('http://url/doc.kml'))

谁能指导我如何在 Leaflet 中使用 KMZ 而不是 KML?

如果不可能,那么有没有办法使用 JavaScript 将 KMZ 转换为 KML?

KMZ 文件只是一个压缩文件KML file,可能带有相关的嵌入图像、图标等

因此,任何支持 KMZ 文件的程序都会在内部解压缩这些文件以访问其 KML 文件。

这可能是许多开源程序在实现 KML 支持后不支持 KMZ 的原因:您只需要使用您选择的额外解压缩库,将 KMZ 转换为 KML。

链接的帖子给出了一些基于 JavaScript 的解压缩解决方案。

OpenLayers 3 和 Leaflet 不支持 KMZ。我使 KMZ 解析器达到深度级别 3,它正在建设中,但你可以使用它。 KMZ 解析正在运行。这是我的 GitHub 回购的 link。

https://github.com/engrabid411/kmzol3