我正在尝试设置从服务器获取的图层的样式,但是layer.setStyle()函数没有做任何事情,并且在创建图层时定义样式也不起作用,我的代码是这样的:
var stateStyle = {
"color": "#3D5229",
"weight": 1,
"opacity": .90,
"fillOpacity": .90
};
var mywms2 = L.tileLayer.wms("http://someserver/geoserver/somepage/wms", {
layers: 'SomeMaps:view_table_geom',
format: 'image/png',
transparent: true,
style: stateStyle , //not working
version: '1.1.0'
});
//not working either
mywms2.setStyle(stateStyle);
有什么问题?这应该不是问题。
我让我是plunker但由于某种原因它没有显示地图,但如果你复制粘贴代码到html代码,你可以看到我的问题是什么。 https://plnkr.co/edit/38VVojm8zLKhdXu10nQC?p=preview
答案 0 :(得分:1)
Leaflet的L.Tilelayer.WMS
选项对象没有style
选项。但它确实支持styles
选项,但它不会将javascript对象文字作为值,而是以逗号分隔的值字符串:
以逗号分隔的WMS样式列表。
http://leafletjs.com/reference.html#tilelayer-wms-styles
关于Leaflet和WMS造型的一个很好的解释可以在Per Liedman的答案中找到: