OpenLayersのControl.SelectFeature classについて[Chapter 44]

OpenLayersを使ってみる。[Chapter 44]

OpenLayersのFeature classについて[Chapter 43] に引き続き、OpenLayersのFeature classについて基本を学んでいきます。


  • どのようにvector layerを描いているか?
  • Vector Classとは?
  • GeometryとFeature classについて → 今回もここ
  • Strategy,Protocol,Format classの使い方


OpenLayers 2.10 Beginner's Guideなる書籍の章立てにあわせて、OpenLayersの使い方を学んでいきます。

SelectFeature control properties

propertiesは、SelectFeature controlがインスタンスされたときにセットされます。
例えば、SelectFeature control objectを呼び出すには、

var select_feature_control = new OpenLayers.Control.SelectFeature(

ここで{}はoptional options objectであり、propertiesを設定する事になります。

SelectFeature control のpropertiesについてみてみます。それほど難しい英語ではないので、原文のまま載せます。


box: {Boolean} Specifies whether features can be selected by drawing a box. Set to false by default. If set to true, when activating the SelectFeature control object, you'll be able to draw a box to select features instead of clicking on eatures to select them.


clickout: {Boolean} Determines if features will be unselected when clicking outside of any feature. Default is false.


geometryType: {Array{String}} An array of strings which specify the only geometry types that the feature will be able to select. Each string should be the name of a Geometry class. By default, null is specified for this property, meaning all geometry types can be selected. For example, if you wanted the control to only allow the selection of Point objects, you would pass in this property like:
geometryTypes: ['OpenLayers.Geometry.Point']


handlers: {Object} This contains a reference to handler object instances.


highlightOnly: {Boolean} This specifies whether features can be selected, or if features can only be highlighted. Set to false by default. If hover is set to true, this will do nothing.


hover: {Boolean} Set to false by default. If this is set to true, features will be selected (and added to the vector_layer.features array) when the user mouse overs a feature—clicking on a feature will do nothing, only mousing over them will.


layer: {OpenLayers.Layer.Vector} or {Array{OpenLayers.Layer.Vector}} Specifies the vector layer(s) the selectFeature control is associated with.


multiple: {Boolean} Controls whether or not multiple features will be selected by clicking on them. Default is false. This does not mean multiple features can never be selected (you can use the multipleKey to select multiple features even if this is set to false). If set to true, features will not be unselected when clicking on other features.


multipleKey: {String} Specifies a key to be used to allow for multiple selection of features. When holding down the key, multiple features can be selected. An example would be multipleKey: 'shiftKey' or 'altKey'. Default value is null.


onBeforeSelect: {Function} Function to be called before a feature is selected. By default, this is an empty function.


onSelect: {Function} Function to be called when a feature is selected. By default, this is an empty function.


onUnselect: {Function} Function to be called when a feature is unselected. By
default, this is an empty function.


renderIntent: {String} Used to get the style to use from the style map of the layer. Styles are covered in Chapter 10.


selectStyle: {Object} Contains an object of styles. Styles are discussed later in this chapter.


toggle: {Boolean} Determines whether or not to unselect a selected feature when the feature is clicked. Default value is false. If the hover property is set to true, this will do nothing.


toggleKey: {String} Specifies a key that, when held down, will set the toggle property to true. When the key is released, the toggle property will be set back to false. An example would be multipleKey: 'altKey'. Default value is null.

SelectFeature control methods

SelectFeature controlのいくつかのmethodについてみてみましょう。


activate(): Activates the control, allowing us to use it.


deactivate(): Deactivates the control. After calling, features cannot be selected until the control is activated again.


highlight(feature): Draws the passed in feature with the feature's select style.


unhighlight(feature): Draws the passed in feature with the feature's normal style.


select(feature): Selects a passed in feature object, adding it to the layer's selectedFeature array, calling the onSelect method, and rendering the feature as selected (applying any styles, etc.).


unselect(feature): Unselects a passed in feature object, removing it from the layer's selectedFeature array, calling the onUnselect method, and rendering the feature back to its normal state (applying any styles, etc.).


unselectAll(options): Calling this will unselect all features currently selected by the control. If you wish to unselect everything except a specific feature, pass it in to the options parameter as an except property.


OpenLayersの簡単なControl.SelectFeature classについて学びました。(ちょい手抜きの部分もありますが。。。)
次回は、OpenLayersのVector Layer classについて、Format, protocol, and strategy classesの基本を学んでいきます。

そこんところ ヨロシク~~!!

OpenLayers Tutorialの目次に戻る。

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


WP-SpamFree by Pole Position Marketing

Social Widgets powered by