Gets vector features for locations underneath the mouse cursor. Can be configured to act on click, hover or dragged boxes. Uses an OpenLayers.Protocol that supports spatial filters to retrieve features from a server and fires events that notify applications of the selected features.
OpenLayers. | Gets vector features for locations underneath the mouse cursor. |
Properties | |
protocol | {OpenLayers.Protocol} Required. |
multipleKey | {String} An event modifier (‘altKey’ or ‘shiftKey’) that temporarily sets the multiple property to true. |
toggleKey | {String} An event modifier (‘altKey’ or ‘shiftKey’) that temporarily sets the toggle property to true. |
modifiers | {Object} The event modifiers to use, according to the current event being handled by this control’s handlers |
multiple | {Boolean} Allow selection of multiple geometries. |
click | {Boolean} Use a click handler for selecting/unselecting features. |
single | {Boolean} Tells whether select by click should select a single feature. |
clickout | {Boolean} Unselect features when clicking outside any feature. |
toggle | {Boolean} Unselect a selected feature on click. |
clickTolerance | {Integer} Tolerance for the filter query in pixels. |
hover | {Boolean} Send feature requests on mouse moves. |
box | {Boolean} Allow feature selection by drawing a box. |
maxFeatures | {Integer} Maximum number of features to return from a query in single mode if supported by the protocol. |
features | {Object} Hash of {OpenLayers.Feature.Vector}, keyed by fid, holding the currently selected features |
handlerOptions | {Object} Additional options for the handlers used by this control. |
handlers | {Object} Object with references to multiple OpenLayers.Handler instances. |
hoverResponse | {OpenLayers.Protocol.Response} The response object associated with the currently running hover request (if any). |
filterType | {String} The type of filter to use when sending off a request. |
events | {OpenLayers.Events} Events instance for listeners and triggering control specific events. |
Constructor | |
OpenLayers. | Create a new control for fetching remote features. |
Functions | |
activate | Activates the control. |
deactivate | Deactivates the control. |
selectClick | Called on click |
selectBox | Callback from the handlers.box set up when box selection is on |
selectHover | Callback from the handlers.hover set up when hover selection is on |
cancelHover | Callback from the handlers.hover set up when hover selection is on |
request | Sends a GetFeature request to the WFS |
selectBestFeature | Selects the feature from an array of features that is the best match for the click position. |
setModifiers | Sets the multiple and toggle modifiers according to the current event |
select | Add feature to the hash of selected features and trigger the featureselected and featuresselected events. |
hoverSelect | Sets/unsets the <hoverFeature> |
unselect | Remove feature from the hash of selected features and trigger the featureunselected event. |
unselectAll | Unselect all selected features. |
setMap | Set the map property for the control. |
pixelToBounds | Takes a pixel as argument and creates bounds after adding the clickTolerance. |
{OpenLayers.Protocol} Required. The protocol used for fetching features.
{String} An event modifier (‘altKey’ or ‘shiftKey’) that temporarily sets the multiple property to true. Default is null.
{String} An event modifier (‘altKey’ or ‘shiftKey’) that temporarily sets the toggle property to true. Default is null.
{Boolean} Tells whether select by click should select a single feature. If set to false, all matching features are selected. If set to true, only the best matching feature is selected. This option has an effect only of the click option is set to true. Default is true.
{Boolean} Unselect features when clicking outside any feature. Applies only if click is true. Default is true.
{Boolean} Unselect a selected feature on click. Applies only if click is true. Default is false.
{Integer} Maximum number of features to return from a query in single mode if supported by the protocol. This set of features is then used to determine the best match client-side. Default is 10.
{Object} Hash of {OpenLayers.Feature.Vector}, keyed by fid, holding the currently selected features
{Object} Object with references to multiple OpenLayers.Handler instances.
{OpenLayers.Protocol.Response} The response object associated with the currently running hover request (if any).
{String} The type of filter to use when sending off a request. Possible values: OpenLayers.Filter.Spatial.<BBOX|INTERSECTS|WITHIN|CONTAINS> Defaults to: OpenLayers.Filter.Spatial.BBOX
{OpenLayers.Events} Events instance for listeners and triggering control specific events.
control.events.register(type, obj, listener);
beforefeatureselected | Triggered when click is true before a feature is selected. The event object has a feature property with the feature about to select |
featureselected | Triggered when click is true and a feature is selected. The event object has a feature property with the selected feature |
beforefeaturesselected | Triggered when click is true before a set of features is selected. The event object is an array of feature properties with the features about to be selected. Return false after receiving this event to discontinue processing of all featureselected events and the featuresselected event. |
featuresselected | Triggered when click is true and a set of features is selected. The event object is an array of feature properties of the selected features |
featureunselected | Triggered when click is true and a feature is unselected. The event object has a feature property with the unselected feature |
clickout | Triggered when when click is true and no feature was selected. |
hoverfeature | Triggered when hover is true and the mouse has stopped over a feature |
outfeature | Triggered when hover is true and the mouse moves moved away from a hover-selected feature |
Create a new control for fetching remote features.
options | {Object} A configuration object which at least has to contain a protocol property (if not, it has to be set before a request is made) |
selectBox: function( position )
Callback from the handlers.box set up when box selection is on
position | {<OpenLayers.Bounds>|Object} An OpenLayers.Bounds or an object with a ‘left’, ‘bottom’, ‘right’ and ‘top’ properties. |
selectHover: function( evt )
Callback from the handlers.hover set up when hover selection is on
evt | {Object} event object with an xy property |
cancelHover: function()
Callback from the handlers.hover set up when hover selection is on
request: function( bounds, options )
Sends a GetFeature request to the WFS
bounds | {OpenLayers.Bounds} bounds for the request’s BBOX filter |
options | {Object} additional options for this method. |
single | {Boolean} A single feature should be returned. Note that this will be ignored if the protocol does not return the geometries of the features. |
hover | {Boolean} Do the request for the hover handler. |
selectBestFeature: function( features, clickPosition, options )
Selects the feature from an array of features that is the best match for the click position.
features | {Array(OpenLayers.Feature.Vector)} |
clickPosition | {OpenLayers.LonLat} |
options | {Object} additional options for this method |
hover | {Boolean} Do the selection for the hover handler. |
setModifiers: function( evt )
Sets the multiple and toggle modifiers according to the current event
evt | {OpenLayers.Event} |
select: function( features )
Add feature to the hash of selected features and trigger the featureselected and featuresselected events.
features | {OpenLayers.Feature.Vector} or an array of features |
hoverSelect: function( feature )
Sets/unsets the <hoverFeature>
feature | {OpenLayers.Feature.Vector} the feature to hover-select. If none is provided, the current <hoverFeature> will be nulled and the outfeature event will be triggered. |
unselect: function( feature )
Remove feature from the hash of selected features and trigger the featureunselected event.
feature | {OpenLayers.Feature.Vector} |
pixelToBounds: function( pixel )
Takes a pixel as argument and creates bounds after adding the clickTolerance.
pixel | {OpenLayers.Pixel} |
Activates the control.
activate: function ()
Deactivates the control.
deactivate: function ()
Called on click
selectClick: function( evt )
Callback from the handlers.box set up when box selection is on
selectBox: function( position )
Callback from the handlers.hover set up when hover selection is on
selectHover: function( evt )
Callback from the handlers.hover set up when hover selection is on
cancelHover: function()
Sends a GetFeature request to the WFS
request: function( bounds, options )
Selects the feature from an array of features that is the best match for the click position.
selectBestFeature: function( features, clickPosition, options )
Sets the multiple and toggle modifiers according to the current event
setModifiers: function( evt )
Add feature to the hash of selected features and trigger the featureselected and featuresselected events.
select: function( features )
Sets/unsets the hoverFeature
hoverSelect: function( feature )
Remove feature from the hash of selected features and trigger the featureunselected event.
unselect: function( feature )
Unselect all selected features.
unselectAll: function()
Set the map property for the control.
setMap: function( map )
Takes a pixel as argument and creates bounds after adding the clickTolerance.
pixelToBounds: function( pixel )