我尝试使用以下代码更改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
您可以看到多边形的颜色值更新,但地图上的多边形不会改变颜色。
如何在添加多边形之后以编程方式更改多边形的颜色?
谢谢!
答案 0 :(得分:2)
使用从setStyle
扩展的L.Path
的{{1}}方法:
L.Polygon
关于Plunker的工作示例:http://plnkr.co/edit/vL0rAoKQGhV8zri8mDz7?p=preview
参考:http://leafletjs.com/reference.html#path-setstyle
如果你真的想通过更改选项对象来实现,那么之后你需要调用var polygon = L.polygon([[45,45],[-45,45],[-45,-45],[45,-45]]).addTo(map);
polygon.setStyle({'color': 'yellow'});
的{{1}}方法:
_updateStyle
但由于L.Path
表明它是polygon.options.color = 'yellow';
polygon._updateStyle();
的内部方法,并且不属于API,因此您应该避免使用它,因为它可能会在Leaflet的未来版本中发生变化。我想我应该提一下。