gpt4 book ai didi

leaflet - 在 Leaflet 上加载 KML 图层的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-03 08:53:38 27 4
gpt4 key购买 nike

我必须在 Leaflet 应用程序上加载 KML 图层。经过一番浏览后,我发现一个名为 leaflet-kml 的库可以执行此操作。我可以通过两种方式加载 KML 图层:通过 KML 图层的 URI 或 KML 字符串。 KML 存储在服务器中,我有后端代码来检索 URI 和字符串表示形式。

这是使用 URI 的方法。

function LoadKML(containerName, name)
{
let kmlURL = GetKmlURI(containerName, name);
let kmlLayer = new L.KML(kmlURL);
map.addLayer(kmlLayer);
}

这是使用 kml 字符串的方法。

function LoadKML(containerName, name)
{
let kmlString = GetKmlString(containerName, name);
let kmlLayer = new L.KML.parseKML(kmlString);
map.addLayer(kmlLayer);
}

由于 CORS 限制,我无法使用第一种方法获取 URL。第二种方法返回一个字符串,但无法正确解析。

KML.js:77 Uncaught TypeError: this.parseStyles is not a function
at new parseKML (KML.js:77)
at LoadKML (Account:470)
at Account:461

我应该如何调用leaflet-kml中的函数?有没有可以轻松将KML加载到传单中的库?

最佳答案

您可以使用 leaflet-omnivore。它是加载KML文件的最佳插件( https://github.com/mapbox/leaflet-omnivore )

var kmlData = omnivore.kml('data/kmlData.kml', null, customLayer);

关于leaflet - 在 Leaflet 上加载 KML 图层的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57322429/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com