我必须在我的宣传单地图中使用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?
答案 0 :(得分:4)
KMZ文件只是一个压缩的KML file,可能带有相关的嵌入图像,图标等。
因此,任何支持KMZ文件的程序都会在内部解压缩它们以访问其KML文件。
这可能是为什么许多开源程序在实施KML支持后不打扰支持KMZ的原因:您只需要使用您选择的其他解压缩库,将KMZ转换为KML。
链接的帖子提供了一些基于JavaScript的解压缩解决方案。
答案 1 :(得分:1)
OpenLayers 3和Leaflet不支持KMZ。我将KMZ解析器升级到了正在构建的深度级别3,但您可以使用它。 KMZ解析正在运行。这是我的GitHub回购链接。