# OpenLayers.Control.SelectFeature

The SelectFeature control selects vector features from a given layer on click or hover.

#### Inherits from

- OpenLayers.Control

Summary

OpenLayers.Control.SelectFeature | The SelectFeature control selects vector features from a given layer on click or hover.
Properties |
events | {OpenLayers.Events} Events instance for listeners and triggering control specific events.
multiple | {Boolean} Allow selection of multiple geometries.
clickout | {Boolean} Unselect features when clicking outside any feature.
toggle | {Boolean} Unselect a selected feature on click.
hover | {Boolean} Select on mouse over and deselect on mouse out.
highlightOnly | {Boolean} If true do not actually select features (that is place them in the layer’s selected features array), just highlight them.
box | {Boolean} Allow feature selection by drawing a box.
onSelect | {Function} Optional function to be called when a feature is selected.
onUnselect | {Function} Optional function to be called when a feature is unselected.
geometryTypes | {Array(String)} To restrict selecting to a limited set of geometry types, send a list of strings corresponding to the geometry class names.
callbacks | {Object} The functions that are sent to the handlers.feature for callback
selectStyle | {Object} Hash of styles
Constructor |
OpenLayers.Control.SelectFeature | Create a new control for selecting features.
Functions |
setLayer | Attach a new layer to the control, overriding any existing layers.

### Properties

### 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);

#### Supported event types (in addition to those from OpenLayers.Control.events)

beforefeaturehighlighted | Triggered before a feature is highlighted
featurehighlighted | Triggered when a feature is highlighted
featureunhighlighted | Triggered when a feature is unhighlighted
boxselectionstart | Triggered before box selection starts
boxselectionend | Triggered after box selection ends

### multiple

{Boolean} Allow selection of multiple geometries. Default is false.

### clickout

{Boolean} Unselect features when clicking outside any feature. Default is true.

### toggle

{Boolean} Unselect a selected feature on click. Default is false. Only has meaning if hover is false.

### hover

{Boolean} Select on mouse over and deselect on mouse out. If true, this ignores clicks and only listens to mouse moves.

### highlightOnly

{Boolean} If true do not actually select features (that is place them in the layer’s selected features array), just highlight them. This property has no effect if hover is false. Defaults to false.

### box

{Boolean} Allow feature selection by drawing a box.

### onSelect

{Function} Optional function to be called when a feature is selected. The function should expect to be called with a feature.

### onUnselect

{Function} Optional function to be called when a feature is unselected. The function should expect to be called with a feature.

### geometryTypes

{Array(String)} To restrict selecting to a limited set of geometry types, send a list of strings corresponding to the geometry class names.

### callbacks

{Object} The functions that are sent to the handlers.feature for callback

### selectStyle

{Object} Hash of styles

### Constructor

### OpenLayers.Control.SelectFeature

Create a new control for selecting features.

#### Parameters

layers | {OpenLayers.Layer.Vector}, or an array of vector layers. The layer(s) this control will select features from.
options | {Object}

### Functions

### setLayer

> setLayer: function( | layers | )

Attach a new layer to the control, overriding any existing layers.

#### Parameters

layers | Array of {OpenLayers.Layer.Vector} or a single {OpenLayers.Layer.Vector}

> setLayer: function( | layers | )

Attach a new layer to the control, overriding any existing layers.
Controls affect the display or behavior of the map.
{OpenLayers.Events} Events instance for listeners and triggering control specific events.
Instances of OpenLayers.Layer.Vector are used to render vector data from a variety of sources.
Close