[OpenLayers-Users] Highlight elements

Bart van den Eijnden (OSGIS) bartvde at osgis.nl
Fri Jan 26 04:44:00 EST 2007


This is how I do it:

sld = '<StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengeospatial.net/sld/1.0.0/StyledLayerDescriptor.xsd"><NamedLayer><Name>AAA207</Name><UserStyle><FeatureTypeStyle><Rule><Filter><PropertyIsEqualTo><PropertyName>DIENSTNAAM</PropertyName><Literal>%literal%</Literal></PropertyIsEqualTo></Filter><PolygonSymbolizer><Fill><CssParameter name="fill">#000099</CssParameter></Fill></PolygonSymbolizer></Rule><Rule><ElseFilter/><PolygonSymbolizer><Fill><CssParameter name="fill">#bfcaea</CssParameter></Fill><Stroke><CssParameter name="stroke">#a6c6ff</CssParameter><CssParameter name="stroke-width">1.0</CssParameter></Stroke></PolygonSymbolizer></Rule></FeatureTypeStyle></UserStyle></NamedLayer></StyledLayerDescriptor>';



layer = new OpenLayers.Layer.WMS.Untiled( "Beheersgebieden", "http://www.rijkswaterstaat.nl/services/geoservices/basispakket/grenzen?", {layers: 'AAA207', 'format':'image/gif', 'transparent':'true'}, {'numZoomLevels': 1, 'ratio':1, isBaseLayer: true} );    

And then to apply the selection

// I replace %literal% with the selection of the user.

mysld = sld.replace('%literal%',  beheersgebiedtext);

// then call mergeNewParams to apply the selection to the WMS layer
layer.mergeNewParams({"sld_body":mysld});


Best regards,
Bart

Aitor Calero Garcia schreef:
>> I do this using SLD_BODY in OpenLayers. Works fine, as long as your
>>     
> XML
>   
>> string is not encoded.
>>     
>
> Excuse me, what do you mean with "using SLD_BODY in OpenLayers"? I am
> not sure about how my own wms requests can be added in OpenLayers.
>
>
>
>   


-- 
Bart van den Eijnden
OSGIS, Open Source GIS
bartvde at osgis.nl
http://www.osgis.nl




More information about the Users mailing list