gpt4 book ai didi

javascript - 如何在 Leaflet 1.0.3 中更改 LineStrings 的 geoJSON 层的样式

转载 作者:行者123 更新时间:2023-11-30 15:27:50 25 4
gpt4 key购买 nike

我正在尝试更改 leaflet 1.0.3 中的一层线条字符串的样式。我的图层是使用 ajax 调用和 leaflet-ajax 库生成的 geoJSON 图层。我可以在 map 上看到我的图层,但它继承了默认样式,而不是我尝试添加的样式。

var lines = new L.GeoJSON.AJAX('/rest/lines');

lines.setStyle({color:"#00000",weight:10}).addTo(map);

var overlays = {"Lines": lines};

L.control.layers(overlays).addTo(map);

最佳答案

您应该尝试定义一个函数,该函数将在每一行加载到 Leaflet 中时为其设置样式。

来自此链接:https://github.com/Dominique92/Leaflet.GeoJSON.Ajax

...
new L.GeoJSON.Ajax(
<URL>, // GeoJson server URL.
{
argsGeoJSON: {
name: value, // GeoJson args pairs that will be added to the url with the syntax: ?name=value&...
...
}
bbox: <boolean>, // Optional: whether or not add bbox arg to the geoJson server URL
style: function(feature) { // Optional
return {
"<NAME>": <VALUE>, // Properties pairs that will overwrite the geoJson flow features properties
"<NAME>": feature.properties.<NAME>, // The value can be calculated from any geoJson property for each features.
...
};
}
}
).addTo(map);
...

这是我的代码,它适用于形状而不是线条,但它应该以类似的方式工作:

geojson = L.geoJson(myGeoJson.features, {
onEachFeature: onEachFeature,
style: styleFeature,
}).addTo(myLeafletMap);

然后我有函数:

function onEachFeature(feature, layer) {
...
}

function styleFeature(feature){
return {
weight: 2.5,
opacity: 1,
color: getColour('blue'),
};
}

关于javascript - 如何在 Leaflet 1.0.3 中更改 LineStrings 的 geoJSON 层的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42700253/

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