在寫我JavaScript
代碼從本地文件夾中添加kmz,kml和csv文件。所有文件將顯示/添加在esri Maps.I能夠添加kml和csv,但不是kmz.I不想包含完整壓縮/解壓縮代碼或庫到我的code.I不需要這一切。只需要一個小的代碼轉換kmz爲kml。如何使用javascript將KMZ文件轉換爲KML?
此外,我不想在任何本地文件夾中存儲任何解壓縮或轉換的文件(這將是kml)。
只是想讀取內容並將其傳遞給我的add_kml()函數。 只想從kml文件中提取內容爲kml。 無處不在的代碼是將提取的文件存儲在某個文件夾中。我不想那樣做。
功能unZipAndProcessKMZ(BLOB) {
zip.createReader(新zip.BlobReader(BLOB),
功能(閱讀器) {//從壓縮得到的所有條目 reader.getEntries(功能(項) {parseTransformKMZ(entries);} ); }, function(error){/ * onerror callback * /} ); }
function parseTransformKMZ(entries)
{
//Step 1: find doc.kml
var docKMLentry = findFileByName(entries, '.kml', false);
console.log('in Parse file: ', docKMLentry.filename);
docKMLentry.getData( new zip.BlobWriter('text/xml'),
function(kmlText)
{
var fileReader = new FileReader();
fileReader.addEventListener("loadend", function()
{ docKML = fileReader.result;
if (typeof docKML == 'string') {
docKML = (new window.DOMParser()).parseFromString(docKML, "text/xml");
}
var geojson = toGeoJSON[extension](docKML);
//send data to esri converter
feats = geojson.features;
if (!feats || (feats.length === 0)) {
alert("No features found");
return;
} convertTo_esri();
});
我與代碼掙扎解壓contents.Because我來到這裏唯一的解決辦法就是解壓它到kml.But解壓後的內容kml文件被添加到我的本地文件夾。我不想要。 – mkjk
我也嘗試使用PHP代碼來解壓kmz文件。與js代碼相比,代碼非常小。但需要使用js.Again與tha php代碼文件正在保存在本地文件夾中。 – mkjk