Class: Layer

ol.layer.Layer

Abstract base class; normally only used for creating subclasses and not instantiated in apps. A visual representation of raster or vector map data. Layers group together those properties that pertain to how the data is to be displayed, irrespective of the source of that data.

Layers are usually added to a map with ol.Map#addLayer. Components like ol.interaction.Select use unmanaged layers internally. These unmanaged layers are associated with the map using ol.layer.Layer#setMap instead.

A generic change event is fired when the state of the source changes.

new ol.layer.Layer(options)

src/ol/layer/layer.js, line 36
Name Type Description
options

Layer options.

Name Type Description
opacity number | undefined

Opacity (0, 1). Default is 1.

source ol.source.Source | undefined

Source for this layer. If not provided to the constructor, the source can be set by calling layer.setSource(source) after construction.

visible boolean | undefined

Visibility. Default is true (visible).

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.

Fires:

Subclasses

Extends

Observable Properties

Name Type Settable ol.Object.Event type Description
extent ol.Extent | undefined yes change:extent

The layer extent.

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.

source ol.source.Source yes change:source

The layer source (or null if not yet set).

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.

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.

getSource(){ol.source.Source}

src/ol/layer/layer.js, line 115

Get the layer source.

Returns:
The layer source (or null if not yet set).

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.

setMap(map)

src/ol/layer/layer.js, line 167

Sets the layer to be rendered on top of other layers on a map. The map will not manage this layer in its layers collection, and the callback in ol.Map#forEachLayerAtPixel will receive null as layer. This is useful for temporary layers. To remove an unmanaged layer from the map, use #setMap(null).

To add the layer to a map and have it managed by the map, use ol.Map#addLayer instead.

Name Type Description
map ol.Map

Map.

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.

setSource(source)

src/ol/layer/layer.js, line 201

Set the layer source.

Name Type Description
source ol.source.Source

The layer source.

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.