从KML内容中绘制区域

时间:2017-03-16 09:29:44

标签: angular leaflet kml

在我的Angular2项目中,我使用带有kml插件的leafletJS来绘制区域。

像这样

var track = new L.KML("KML_Samples.kml", {async: true});
track.on("loaded", function(e) {
    map.fitBounds(e.target.getBounds());
});
map.addLayer(track);

现在,API直接返回KML内容

我的问题是KML插件有一种方式消耗KML内容而不是网址,或者是否可以创建虚拟文件并传递其网址

1 个答案:

答案 0 :(得分:0)

我通过使用

创建数据链接来实现目标
var src = 'data:application/vnd.google-earth.kml+xml;charset=utf-8;base64,'+ btoa(KmlBody);

let kmlLayer = new L.KML(src, {async: true});

track.on("loaded", function(e) {
    map.fitBounds(e.target.getBounds());
});

map.addLayer(kmlLayer);