小编dis*_*ast的帖子

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

我必须在 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);
}

Run Code Online (Sandbox Code Playgroud)

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

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

Run Code Online (Sandbox Code Playgroud)

由于 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
Run Code Online (Sandbox Code Playgroud)

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

kml leaflet

2
推荐指数
1
解决办法
2万
查看次数

如何更改折线的笔触颜色?

我的Web应用程序允许用户在其上绘制折线。我想为用户提供更改折线的笔触颜色的选项。

我在控制台日志中查看了折线对象。在options属性中,有一个称为color的属性。我已经试过了。

selectedLayer.options.color = "#2196F3";
Run Code Online (Sandbox Code Playgroud)

和这个。

selectedLayer.color = "#2196F3";
Run Code Online (Sandbox Code Playgroud)

和这个。

selectedLayer.setStyle({ color: "#2196F3"});
Run Code Online (Sandbox Code Playgroud)

笔触颜色应该已更改,但未更改。创建折线后,设置折线笔触颜色的正确方法是什么?据我所知,这与多边形的fillColor属性无关。

javascript leaflet leaflet.draw

0
推荐指数
1
解决办法
125
查看次数

标签 统计

leaflet ×2

javascript ×1

kml ×1

leaflet.draw ×1