OpenLayers v4.0.1 API - Class: Group

# Class: Group

This documentation is for OpenLayers v4.0.1. The latest is v.

## ol.layer.Group

A `ol.Collection` of layers that are handled together.

A generic `change` event is triggered when the group/Collection changes.

#### new ol.layer.Group(opt_options)

src/ol/layer/group.js, line 28

  Name | Type | Description
  --- | --- | ---

  `options`

  Layer options.

  Name | Type | Description
  --- | --- | ---
  `opacity` | number | undefined | Opacity (0, 1). Default is `1`.
  `visible` | boolean | undefined | Visibility. Default is `true`.
  `extent` | ol.Extent | undefined | The bounding extent for layer rendering. The layer will not be rendered outside of this extent.
  `zIndex` | number | undefined | The z-index for layer rendering. At rendering time, the layers will be ordered, first by Z-index and then by position. The default Z-index is 0.
  `minResolution` | number | undefined | The minimum resolution (inclusive) at which this layer will be visible.
  `maxResolution` | number | undefined | The maximum resolution (exclusive) below which this layer will be visible.
  `layers` | Array.<ol.layer.Base> | ol.Collection.<ol.layer.Base> | undefined | Child layers.

  ##### Fires:

  - `change` (ol.events.Event) - Generic change event. Triggered when the revision counter is increased.
  - `change:extent` (ol.Object.Event)
  - `change:layers` (ol.Object.Event)
  - `change:maxResolution` (ol.Object.Event)
  - `change:minResolution` (ol.Object.Event)
  - `change:opacity` (ol.Object.Event)
  - `change:visible` (ol.Object.Event)
  - `change:zIndex` (ol.Object.Event)
  - `propertychange` (ol.Object.Event) - Triggered when a property is changed.

### Extends

- ol.layer.Base

### Observable Properties

Name | Type | Settable | ol.Object.Event type | Description
--- | --- | --- | --- | ---
`extent` | ol.Extent | undefined | yes | `change:extent` | The layer extent.
`layers` | ol.Collection.<ol.layer.Base> | yes | `change:layers` | Collection of `layers` that are part of this group.
`maxResolution` | number | yes | `change:maxresolution` | The maximum resolution of the layer.
`minResolution` | number | yes | `change:minresolution` | The minimum resolution of the layer.
`opacity` | number | yes | `change:opacity` | The opacity of the layer.
`visible` | boolean | yes | `change:visible` | The visibility of the layer.
`zIndex` | number | yes | `change:zindex` | The Z-index of the layer.

### Methods

#### changed() inherited

src/ol/observable.js, line 58

  Increases the revision counter and dispatches a 'change' event.

#### dispatchEvent(event) inherited

src/ol/observable.js, line 75

  Dispatches an event and calls all listeners listening for events of this type. The event parameter can either be a string or an Object with a `type` property.

  Name | Type | Description
  --- | --- | ---
  `event` | Object | ol.events.Event | string | Event object.

#### get(key){*} inherited

src/ol/object.js, line 101

  Gets a value.

  Name | Type | Description
  --- | --- | ---
  `key` | string | Key name.

  ##### Returns:

  Value.

#### getExtent(){ol.Extent|undefined} inherited

src/ol/layer/base.js, line 108

  Return the `extent` of the layer or `undefined` if it will be visible regardless of extent.

  ##### Returns:

  The layer extent.

#### getKeys(){Array.<string>} inherited

src/ol/object.js, line 115

  Get a list of object property names.

  ##### Returns:

  List of property names.

#### getLayers(){ol.Collection.<ol.layer.Base>}

src/ol/layer/group.js, line 163

  Returns the `collection` of `layers` in this group.

  ##### Returns:

  Collection of `layers` that are part of this group.

#### getMaxResolution(){number} inherited

src/ol/layer/base.js, line 120

  Return the maximum resolution of the layer.

  ##### Returns:

  The maximum resolution of the layer.

#### getMinResolution(){number} inherited

src/ol/layer/base.js, line 132

  Return the minimum resolution of the layer.

  ##### Returns:

  The minimum resolution of the layer.

#### getOpacity(){number} inherited

src/ol/layer/base.js, line 144

  Return the opacity of the layer (between 0 and 1).

  ##### Returns:

  The opacity of the layer.

#### getProperties(){Object.<string, *>} inherited

src/ol/object.js, line 125

  Get an object of all property names and values.

  ##### Returns:

  Object.

#### getRevision(){number} inherited

src/ol/observable.js, line 84

  Get the version number for this object. Each time the object is modified, its version number will be incremented.

  ##### Returns:

  Revision.

#### getVisible(){boolean} inherited

src/ol/layer/base.js, line 162

  Return the visibility of the layer (`true` or `false`).

  ##### Returns:

  The visibility of the layer.

#### getZIndex(){number} inherited

src/ol/layer/base.js, line 174

  Return the Z-index of the layer, which is used to order layers before rendering. The default Z-index is 0.

  ##### Returns:

  The Z-index of the layer.

#### on(type, listener, opt_this){ol.EventsKey|Array.<ol.EventsKey>} inherited

src/ol/observable.js, line 99

  Listen for a certain type of event.

  Name | Type | Description
  --- | --- | ---
  `type` | string | Array.<string> | The event type or array of event types.
  `listener` | function | The listener function.
  `this` | Object | The object to use as `this` in `listener`.

  ##### Returns:

  Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.

#### once(type, listener, opt_this){ol.EventsKey|Array.<ol.EventsKey>} inherited

src/ol/observable.js, line 124

  Listen once for a certain type of event.

  Name | Type | Description
  --- | --- | ---
  `type` | string | Array.<string> | The event type or array of event types.
  `listener` | function | The listener function.
  `this` | Object | The object to use as `this` in `listener`.

  ##### Returns:

  Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.

#### set(key, value, opt_silent) inherited

src/ol/object.js, line 150

  Sets a value.

  Name | Type | Description
  --- | --- | ---
  `key` | string | Key name.
  `value` | * | Value.
  `silent` | boolean | Update without triggering an event.

#### setExtent(extent) inherited

src/ol/layer/base.js, line 186

  Set the extent at which the layer is visible. If `undefined`, the layer will be visible at all extents.

  Name | Type | Description
  --- | --- | ---
  `extent` | ol.Extent | undefined | The extent of the layer.

#### setLayers(layers)

src/ol/layer/group.js, line 177

  Set the `collection` of `layers` in this group.

  Name | Type | Description
  --- | --- | ---
  `layers` | ol.Collection.<ol.layer.Base> | Collection of `layers` that are part of this group.

#### setMaxResolution(maxResolution) inherited

src/ol/layer/base.js, line 197

  Set the maximum resolution at which the layer is visible.

  Name | Type | Description
  --- | --- | ---
  `maxResolution` | number | The maximum resolution of the layer.

#### setMinResolution(minResolution) inherited

src/ol/layer/base.js, line 208

  Set the minimum resolution at which the layer is visible.

  Name | Type | Description
  --- | --- | ---
  `minResolution` | number | The minimum resolution of the layer.

#### setOpacity(opacity) inherited

src/ol/layer/base.js, line 219

  Set the opacity of the layer, allowed values range from 0 to 1.

  Name | Type | Description
  --- | --- | ---
  `opacity` | number | The opacity of the layer.

#### setProperties(values, opt_silent) inherited

src/ol/object.js, line 170

  Sets a collection of key-value pairs. Note that this changes any existing properties and adds new ones (it does not remove any existing properties).

  Name | Type | Description
  --- | --- | ---
  `values` | Object.<string, *> | Values.
  `silent` | boolean | Update without triggering an event.

#### setVisible(visible) inherited

src/ol/layer/base.js, line 230

  Set the visibility of the layer (`true` or `false`).

  Name | Type | Description
  --- | --- | ---
  `visible` | boolean | The visibility of the layer.

#### setZIndex(zindex) inherited

src/ol/layer/base.js, line 242

  Set Z-index of the layer, which is used to order layers before rendering. The default Z-index is 0.

  Name | Type | Description
  --- | --- | ---
  `zindex` | number | The z-index of the layer.

#### un(type, listener, opt_this) inherited

src/ol/observable.js, line 147

  Unlisten for a certain type of event.

  Name | Type | Description
  --- | --- | ---
  `type` | string | Array.<string> | The event type or array of event types.
  `listener` | function | The listener function.
  `this` | Object | The object which was used as `this` by the `listener`.

#### unset(key, opt_silent) inherited

src/ol/object.js, line 184

  Unsets a property.

  Name | Type | Description
  --- | --- | ---
  `key` | string | Key name.
  `silent` | boolean | Unset without triggering an event.