I have a WFS layer working correctly. I configured the style in the GeoServer, but I am not able to fetch this style already defined in the GeoServer to show in OpenLayers.
On the GeoServer, the style is named
style_layer1
How can I do this?
var layer1 = new ol.layer.Vector({
title: 'Layer 1',
visible: false,
zIndex: abrangencia,
style: style_cadastro_lote,
source: new ol.source.Vector({
format: new ol.format.GeoJSON(),
url: function (extent) {
return urlGeoserver + 'wfs?service=WFS&' +
'version=' + versionGeoserver + '&request=GetFeature&typename=geo:LAYER1&' +
'outputFormat=application/json&srsname=EPSG:4326&' +
'all=' + extent.join(',') + ',EPSG:4326';
},
strategy: ol.loadingstrategy.bbox
})
});
[EDIT]
Edit
var geojsonSource = new ol.source.Vector({
format: new ol.format.GeoJSON(),
url: function(extent) {
return urlGeoserver + 'wfs?service=WFS&' +
'version=' + versionGeoserver + '&request=GetFeature&' +
'typename=nome_da_camada&outputFormat=application/json&' +
'srsname=EPSG:4326&' +
'all=' + extent.join(',') + ',EPSG:4326' +
'&sld_url='+urlGeoserver +'/arquivo.sld';
},
strategy: ol.loadingstrategy.bbox
});
var vectorLayer = new ol.layer.Vector({
source: geojsonSource
});
ol.format.SLD().readUrl(+urlGeoserver +'/arquivo.sld', function(sld) {
var style =
ol.xml.getAllTextContent(sld.getElementsByTagName('CssParameter')[0]);
vectorLayer.setStyle(style);
});