首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Leaflet.Draw - geoJSON到Kml

Leaflet.Draw - geoJSON到Kml
EN

Stack Overflow用户
提问于 2018-05-03 07:40:06
回答 1查看 3.4K关注 0票数 4

我已经做了一个地图使用传单绘图插件,让用户下载他们画的项目。这些绘制的项以GeoJSON的形式导出,使用这里中的以下代码

代码语言:javascript
复制
document.getElementById('export').onclick = function(e) {
        // Extract GeoJson from featureGroup
        var data = featureGroup.toGeoJSON();

        // Stringify the GeoJson
        var convertedData = 'text/json;charset=utf-8,' + 
        encodeURIComponent(JSON.stringify(data));

        // Create export
        document.getElementById('export').setAttribute('href', 'data:' + 
        convertedData);      
       document.getElementById('export').setAttribute('download','data.geojson');
}

这是完美的,但如果在导出之前将GeoJSON转换为.kml,则会更加理想。我知道toKml插件,但我正在努力使它工作(我仍然是非常新的这一切)。我要在哪里补充:

代码语言:javascript
复制
var kml = tokml(geojsonObject);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-04 16:35:03

您可以使用tokml(data)将您的tokml(data)对象转换为KML,并使用数据URL中的结果字符串,并使用适当的MIME类型和文件名:

代码语言:javascript
复制
var data = featureGroup.toGeoJSON();
var kml = tokml(data);

var convertedData = 'application/xml;charset=utf-8,' + encodeURIComponent(kml);

// if you want to use the official MIME type for KML
// var convertedData = 'application/vnd.google-earth.kml+xml;charset=utf-8,' + 
// encodeURIComponent(kml);

document.getElementById('export').setAttribute('href', 'data:' + convertedData); 
document.getElementById('export').setAttribute('download', 'data.kml');
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50149464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档