在写我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