在Leaflet Map中使用KMZ文件

时间:2016-03-08 12:46:00

标签: javascript leaflet kml kmz

我必须在我的宣传单地图中使用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?

2 个答案:

答案 0 :(得分:4)

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

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

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

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

答案 1 :(得分:1)

OpenLayers 3和Leaflet不支持KMZ。我将KMZ解析器升级到了正在构建的深度级别3,但您可以使用它。 KMZ解析正在运行。这是我的GitHub回购链接。

https://github.com/engrabid411/kmzol3