【问题标题】:How to convert KMZ file to KML using javascript?如何使用 javascript 将 KMZ 文件转换为 KML?
【发布时间】:2014-06-16 12:00:36
【问题描述】:

正在编写JavaScript 用于从本地文件夹添加 kmz、kml 和 csv 文件的代码。所有文件都将在 esri 地图上显示/添加。我可以添加 kml 和 csv,但不能添加 kmz。我不想要将完整的压缩/解压缩代码或库包含到我的代码中。我不需要全部。只需要一个小代码即可将 kmz 转换为 kml。

另外,我不想在任何本地文件夹中存储任何解压缩或转换后的文件(将是 kml)。

只想读取内容并将其即时传递给我的 add_kml() 函数。 只想从 kmz 文件中提取内容,该文件将是 kml。 随处可用的代码是将提取的文件存储在某个文件夹中。我不想要那个。

函数 unZipAndProcessKMZ(blob) {
zip.createReader(新 zip.BlobReader(blob),
功能(读者) {// 从 zip 中获取所有条目 reader.getEntries(函数(条目) { parseTransformKMZ(条目);} ); }, function(error) {/* onerror 回调 */ } ); }

    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();                                     

});

【问题讨论】:

  • 我正在努力解压缩内容的代码。因为我在这里得到的唯一解决方案是将其解压缩到 kml。但是在解压缩内容后,kml 文件被添加到我的本地文件夹中。我没有想要。
  • 我也尝试使用php代码解压缩kmz文件。与js代码相比,代码非常小。但需要使用js。再次将php代码文件保存在本地文件夹中。跨度>

标签: javascript kml kmz


【解决方案1】:

找到解决方案- 只需将作为输入文件的 blob 对象传递给 zip.js 中的 zip.blobReader 函数

【讨论】:

  • 能否分享一下代码的最终版本?我不确定我是否了解 zip.blobReader 的工作原理
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-20
  • 2020-03-10
  • 2017-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
相关资源
最近更新 更多