openlayer4 + arcgisserver + wms +sld

需要注意的点是sld文件的编写

sld文件:


    // 最好为NamedLayer
trunk // 一定要加上trunk对应图层名
       
           
       

       
            trunk //style名
           
                group 0
                Feature
                generic:geometry
                simple
               
                    default rule
                   
                       
                            #000080
                            2.0
                       

                   

               

           

       

   


var layers = [
    new ol.layer.Tile({
        extent: extent,
        source: new ol.source.TileWMS({
            url: urlwms,
            crossOrigin: 'anonymous',
            params: {
                'LAYERS': ['trunk'],
                'FORMAT': 'image/jpeg',
                'STYLES': 'trunk',				
                'sld':'http://localhost:90/szgis/slds/test.xml'//将sld文件部署在url能访问的地方,如iis,tomcat等均可以,注意跨域问题
            },
            serverType: 'mapserver'
        })
    })
];

var map = new ol.Map({
    controls: ol.control.defaults().extend([
        new ol.control.ScaleLine({
            units: 'metric'
        })
    ]),
    layers: layers,
    target: 'map',
    view: new ol.View({
        projection: projection,
        center: suzhou,
        extent: extent,
        zoom: 12
    })
});
常见问题,配置sld无效果,图层无法显示,解决思路

1. sld文件编写是否有误,对照arcgis帮助文档中示例sld编写

2. 是否请求sld文件了,在F12调试中查看network是否请求了sld

你可能感兴趣的:(gis)