Javascript 传单.图纸-geoJSON至Kml

Javascript 传单.图纸-geoJSON至Kml,javascript,leaflet,kml,geojson,leaflet.draw,Javascript,Leaflet,Kml,Geojson,Leaflet.draw,我已经做了一个地图使用传单绘制插件,允许用户下载他们绘制的项目。使用以下代码将这些绘制的项目导出为GeoJSON: 这工作得很完美,但如果GeoJSON在导出之前被转换为.kml,那就更理想了。我知道这个插件,但我正在努力让它工作(我对这一切还是很陌生)。我想补充一下: var kml = tokml(geojsonObject); 您可以使用tokml(data)将data对象转换为KML,并在数据URL中使用生成的字符串以及适当的MIME类型和文件名: var data = feature

我已经做了一个地图使用传单绘制插件,允许用户下载他们绘制的项目。使用以下代码将这些绘制的项目导出为GeoJSON:

这工作得很完美,但如果GeoJSON在导出之前被转换为.kml,那就更理想了。我知道这个插件,但我正在努力让它工作(我对这一切还是很陌生)。我想补充一下:

var kml = tokml(geojsonObject);

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

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

谢谢@Nikoshr!我出错的部分绝对是正确的MIME类型。请注意,我必须在convertedData行的末尾将“(data);“改为”(kml);“现在一切都正常工作了。@JohnGIS感谢您发现了这一点
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');