2016-03-08 20 views
1

我必須在我的小冊子地圖中使用KMZ文件。我發現很多插件和教程在Leaflet Maps中使用KML文件,但找不到使用KMZ文件的方法。在小冊子地圖中使用KMZ文件

使用KML的插件之一是:Leaflet-Omnivore。 對於KML所有我需要做的就是(我的單張地圖是我的ExtJS的應用程序):

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

任何一個可以指導我如何在單張使用,而不是KML KMZ?

如果這是不可能的,那麼有沒有辦法將KMZ轉換爲使用JavaScript的KML?

+1

您可能會感興趣的http://stackoverflow.com/questions/24243254/how-to-convert-kmz-file-to-kml-using-javascript和http://計算器。 com/questions/3498743/read-kmz-with-javascript – ghybs

+0

@ghybs感謝您的評論。所以沒有辦法直接使用KMZ文件? 唯一的方法是我使用zip.js解壓縮並使用生成的.kml文件? –

回答

3

一個KMZ文件只是一個相關的嵌入式圖像,圖標,拉鍊KML file,可能等

所以支持KMZ文件解壓縮內部他們來訪問他們的KML文件的任何程序。

這可能是很多開源程序在KML支持實現後不會打擾支持KMZ的原因:只需使用您選擇的其他解壓縮庫,即可將KMZ轉換爲KML。

鏈接的文章給出了一些基於JavaScript的解壓縮解決方案。

+0

謝謝@gyybs。這也是我在互聯網上搜索後發現的。 –

1

OpenLayers 3和Leaflet不支持KMZ。我將KMZ解析器製作到深度級別3,但是您可以使用它。 KMZ解析正在工作。這裏是我的GitHub回購的鏈接。

https://github.com/engrabid411/kmzol3

+0

@Suever我想你可能沒有看過他的答案。他的回答很好。他只鏈接到他可以下載解析器的存儲庫。這不像他可以提供完整的源代碼。 – oligofren

+0

謝謝@oligofren。 KMZ。 – SamaBalaYam