OpenLayers.Control.SLDSelect
Perform selections on WMS layers using Styled Layer Descriptor (SLD)
Inherits from
events
{OpenLayers.Events} Events instance for listeners and triggering control specific events.
Register a listener for a particular event with the following syntax
control.events.register(type, obj, listener);
selected | Triggered when a selection occurs. Listeners receive an event with filters and layer properties. Filters will be an array of OpenLayers.Filter objects created in order to perform the particular selection. |
clearOnDeactivate
{Boolean} Should the selection be cleared when the control is deactivated. Default value is false.
callbacks
{Object} The functions that are sent to the handler for callback
selectionSymbolizer
{Object} Determines the styling of the selected objects. Default is a selection in red.
layerOptions
{Object} The options to apply to the selection layer, by default the selection layer will be kept out of the layer switcher.
handlerOptions
{Object} Used to set non-default properties on the control’s handler
sketchStyle
{<OpenLayers.Style>|Object} Style or symbolizer to use for the sketch handler. The recommended way of styling the sketch layer, however, is to configure an OpenLayers.StyleMap in the layerOptions of the handlerOptions:
new OpenLayers.Control.SLDSelect(OpenLayers.Handler.Path, {
handlerOptions: {
layerOptions: {
styleMap: new OpenLayers.StyleMap({
"default": {strokeColor: "yellow"}
});
}
}
});
layerCache
{Object} Cache to use for storing references to the selection layers. Normally each source layer will have exactly 1 selection layer of type OpenLayers.Layer.WMS. If not provided, layers will be cached on the prototype. Note that if clearOnDeactivate is true, the layer will no longer be cached after deactivating the control.
OpenLayers.Control.SLDSelect
Create a new control for selecting features in WMS layers using Styled Layer Descriptor (SLD).
Parameters
Valid options
destroy
Take care of things that are not handled in superclass.
coupleLayerVisiblity
coupleLayerVisiblity: function( | evt | ) |
|
Couple the selection layer and the source layer with respect to layer visibility. So if the source layer is turned off, the selection layer is also turned off.
Context
Parameters
createSelectionLayer
createSelectionLayer: function( | source | ) |
|
Creates a “clone” from the source layer in which the selection can be drawn. This ensures both the source layer and the selection are visible and not only the selection.
Parameters
Returns
{OpenLayers.Layer.WMS} A WMS layer with maxGetUrlLength configured to 2048 since SLD selections can easily get quite long.
createSLD
createSLD: function( | layer, | | filters, | | geometryAttributes | ) |
|
Create the SLD document for the layer using the supplied filters.
Parameters
Returns
{String} The SLD document generated as a string.
parseDescribeLayer
parseDescribeLayer: function( | request | ) |
|
Parse the SLD WMS DescribeLayer response and issue the corresponding WFS DescribeFeatureType request
request | {XMLHttpRequest} The request object. |
getGeometryAttributes
getGeometryAttributes: function( | layer | ) |
|
Look up the geometry attributes from the WFS DescribeFeatureType response
Parameters
Returns
Array({Object}) Array of geometry attributes
activate
Activate the control. Activating the control will perform a SLD WMS DescribeLayer request followed by a WFS DescribeFeatureType request so that the proper symbolizers can be chosen based on the geometry type.
deactivate
Deactivate the control. If clearOnDeactivate is true, remove the selection layer(s).
setLayers
setLayers: function( | layers | ) |
|
Set the layers on which the selection should be performed. Call the setLayers method if the layer(s) to be used change and the same control should be used on a new set of layers. If the control is already active, it will be active after the new set of layers is set.
Parameters
layers | {Array(OpenLayers.Layer.WMS)} The new set of layers on which the selection should be performed. |
createFilter
createFilter: function( | geometryAttribute, | | geometry | ) |
|
Create the filter to be used in the SLD.
Parameters
geometryAttribute | {Object} Used to get the name of the geometry attribute which is needed for constructing the spatial filter. |
geometry | {OpenLayers.Geometry} The geometry to use. |
Returns
{OpenLayers.Filter.Spatial} The spatial filter created.
select
select: function( | geometry | ) |
|
When the handler is done, use SLD_BODY on the selection layer to display the selection in the map.
Parameters
applySelection
applySelection: function() |
Checks if all required wfs data is cached, and applies the selection