Динамично меняйте стиль слоя Геосервера

#javascript #openlayers #geoserver #sld

Вопрос:

Я загружаю слой с геосервера на OpenLayers, используя этот код :

 overlays = new ol.layer.Group({
    'title': 'Couches',
    layers: [
            new ol.layer.Image({
            title: 'refer_22',
            source: new ol.source.ImageWMS({
                url: 'http://localhost:8080/geoserver/wms',
                params: {'LAYERS': 'topp:refer_22'},
                ratio: 1,
                serverType: 'geoserver'})
            })
    ]
});

map.addLayer(overlays); 

В Geoserver я создал стиль sld «style.sld» и назначил его слою

Теперь предположим, что у меня есть 5 стилей : «style_1.sld», …, «style_5.sld»

Есть ли способ добавить строку, в которой я могу указать, в каком стиле я хочу, чтобы отображался мой слой.

Комментарии:

1. Если у вас есть именованные стили, доступные в возможностях, вы можете динамически изменять их layer.getSource().updateParams({'STYLES': 'style_1'}); Вы также можете передать SLD и SLD_BODY в качестве параметров. Длинному SLD_BODY может потребоваться пользовательская функция загрузки для загрузки изображения через сообщение XHR.

2. Да ,это именно то, что мне было нужно, спасибо