MapBox:更改现有多边形的颜色
MapBox: Changing an existing polygon's color
我正在尝试使用以下代码更改我的 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 上的工作示例:http://plnkr.co/edit/vL0rAoKQGhV8zri8mDz7?p=preview
参考:http://leafletjs.com/reference.html#path-setstyle
如果您真的想通过更改选项对象来实现,则需要在之后调用 L.Path
的 _updateStyle
方法:
polygon.options.color = 'yellow';
polygon._updateStyle();
但是 _
表明它是 L.Path
的内部方法,而不是 API 的一部分,因此您应该避免使用它,因为它可能会在以后的 Leaflet 版本中发生变化.只是觉得我应该提一下。
我正在尝试使用以下代码更改我的 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 上的工作示例:http://plnkr.co/edit/vL0rAoKQGhV8zri8mDz7?p=preview
参考:http://leafletjs.com/reference.html#path-setstyle
如果您真的想通过更改选项对象来实现,则需要在之后调用 L.Path
的 _updateStyle
方法:
polygon.options.color = 'yellow';
polygon._updateStyle();
但是 _
表明它是 L.Path
的内部方法,而不是 API 的一部分,因此您应该避免使用它,因为它可能会在以后的 Leaflet 版本中发生变化.只是觉得我应该提一下。