[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