Colors 映射框:更改现有多边形';s颜色

Colors 映射框:更改现有多边形';s颜色,colors,polygon,options,mapbox,Colors,Polygon,Options,Mapbox,我正在尝试使用以下代码在已添加到地图中的多边形之后,更改MapBox地图上多边形的颜色 parishPolygon990 = L.polygon([ vertices ], { color: "#0000FF" }).addTo(map); console.log(parishPolygon990); // returns #0000FF console.log(parishPolygon990.options['color']); // returns #0000FF parishPolyg

我正在尝试使用以下代码在已添加到地图中的多边形之后,更改MapBox地图上多边形的颜色

parishPolygon990 = L.polygon([ vertices ], { color: "#0000FF" }).addTo(map);

console.log(parishPolygon990); // returns #0000FF
console.log(parishPolygon990.options['color']); // returns #0000FF
parishPolygon990.options.color = '#d31603';
console.log(parishPolygon990); // returns #d31603
console.log(parishPolygon990.options['color']); // returns #d31603
可以看到多边形的颜色值会更新,但地图上的多边形不会更改颜色

添加多边形后,如何通过编程更改其在地图上的颜色


谢谢

使用
L.Path
setStyle
方法,该
L.Polygon
方法扩展自:

var polygon = L.polygon([[45,45],[-45,45],[-45,-45],[45,-45]]).addTo(map);

polygon.setStyle({'color': 'yellow'});
Plunker的工作示例:

参考:

如果您确实想通过更改options对象来执行此操作,则需要在之后调用
L.Path的
\u updateStyle
方法:

polygon.options.color = 'yellow';
polygon._updateStyle();

但正如
\uu
所示,它是
L.Path
的一种内部方法,并且不是API的一部分,因此您应该避免使用它,因为它可能会在未来版本的宣传单中更改。我想我应该提一下。

不,谢谢,欢迎光临,我添加了设置样式时调用的内部方法,也可以,但不应该使用