Class: Vector

ol.layer.Vector

Vector data that is rendered client-side. Note that any property set in the options is set as a ol.Object property on the layer object; for example, setting title: 'My Title' in the options means that title is observable, and has get/set accessors.

new ol.layer.Vector(opt_options)

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

Options.

Name Type Description
brightness number | undefined experimental

Brightness.

contrast number | undefined experimental

Contrast.

renderOrder function experimental

Render order. Function to be used when sorting features before rendering. By default features are drawn in the order that they are created. Use null to avoid the sort, but get an undefined draw order.

hue number | undefined experimental

Hue.

extent ol.Extent | undefined

The bounding extent for layer rendering. The layer will not be rendered outside of this extent.

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.

opacity number | undefined

Opacity. 0-1. Default is 1.

renderBuffer number | undefined experimental

The buffer around the viewport extent used by the renderer when getting features from the vector source. Recommended value: the size of the largest symbol or line width. Default is 100 pixels.

saturation number | undefined experimental

Saturation.

source ol.source.Vector

Source.

style ol.style.Style | Array.<ol.style.Style> | ol.style.StyleFunction | undefined

Layer style. See ol.style for default style which will be used if this is not defined.

updateWhileAnimating boolean | undefined experimental

When set to true, feature batches will be recreated during animations. This means that no vectors will be shown clipped, but the setting will have a performance impact for large amounts of vector data. When set to false, batches will be recreated when no animation is active. Default is false.

visible boolean | undefined

Visibility. Default is true (visible).

Fires:

Subclasses

Extends

Observable Properties

Name Type Settable ol.ObjectEvent type Description
brightness number yes change:brightness

The brightness of the layer.

contrast number yes change:contrast

The contrast of the layer.

extent ol.Extent | undefined yes change:extent

The layer extent.

hue number yes change:hue

The hue of the layer.

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.

saturation number yes change:saturation

The saturation 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.

Methods

bindTo(key, target, opt_targetKey){ol.ObjectAccessor} inherited experimental

src/ol/object.js, line 326

The bindTo method allows you to set up a two-way binding between a source and target object. The method returns an object with a transform method that you can use to provide from and to functions to transform values on the way from the source to the target and on the way back.

For example, if you had two map views (sourceView and targetView) and you wanted the target view to have double the resolution of the source view, you could transform the resolution on the way to and from the target with the following:

sourceView.bindTo('resolution', targetView)
  .transform(
    function(sourceResolution) {
      // from sourceView.resolution to targetView.resolution
      return 2 * sourceResolution;
    },
    function(targetResolution) {
      // from targetView.resolution to sourceView.resolution
      return targetResolution / 2;
    }
  );
Name Type Description
key string

Key name.

target ol.Object

Target.

targetKey string

Target key.

changed() inherited experimental

src/ol/observable.js, line 52

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

Fires:
  • change experimental

get(key){*} inherited experimental

src/ol/object.js, line 354

Gets a value.

Name Type Description
key string

Key name.

Returns:
Value.

getBrightness(){number} inherited experimental

src/ol/layer/layerbase.js, line 94
Returns:
The brightness of the layer.

getContrast(){number} inherited experimental

src/ol/layer/layerbase.js, line 108
Returns:
The contrast of the layer.

getExtent(){ol.Extent|undefined} inherited

src/ol/layer/layerbase.js, line 182
Returns:
The layer extent.

getHue(){number} inherited experimental

src/ol/layer/layerbase.js, line 122
Returns:
The hue of the layer.

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

src/ol/object.js, line 373

Get a list of object property names.

Returns:
List of property names.

getMaxResolution(){number} inherited

src/ol/layer/layerbase.js, line 197
Returns:
The maximum resolution of the layer.

getMinResolution(){number} inherited

src/ol/layer/layerbase.js, line 212
Returns:
The minimum resolution of the layer.

getOpacity(){number} inherited

src/ol/layer/layerbase.js, line 227
Returns:
The opacity of the layer.

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

src/ol/object.js, line 405

Get an object of all property names and values.

Returns:
Object.

getRevision(){number} inherited experimental

src/ol/observable.js, line 62
Returns:
Revision.

getSaturation(){number} inherited experimental

src/ol/layer/layerbase.js, line 241
Returns:
The saturation of the layer.

getSource(){ol.source.Vector}

src/ol/layer/vectorlayer.js, line 99
Returns:
Source.

getStyle(){ol.style.Style|Array.<ol.style.Style>|ol.style.StyleFunction}

src/ol/layer/vectorlayer.js, line 109

Get the style for features. This returns whatever was passed to the style option at construction or to the setStyle method.

Returns:
Layer style.

getStyleFunction(){ol.style.StyleFunction|undefined}

src/ol/layer/vectorlayer.js, line 119

Get the style function.

Returns:
Layer style function.

getVisible(){boolean} inherited

src/ol/layer/layerbase.js, line 261
Returns:
The visibility of the layer.

on(type, listener, opt_this){goog.events.Key} inherited

src/ol/observable.js, line 75

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.

once(type, listener, opt_this){goog.events.Key} inherited

src/ol/observable.js, line 88

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.

set(key, value) inherited experimental

src/ol/object.js, line 437

Sets a value.

Name Type Description
key string

Key name.

value *

Value.

setBrightness(brightness) inherited experimental

src/ol/layer/layerbase.js, line 292

Adjust the layer brightness. A value of -1 will render the layer completely black. A value of 0 will leave the brightness unchanged. A value of 1 will render the layer completely white. Other values are linear multipliers on the effect (values are clamped between -1 and 1).

The filter effects draft [1] says the brightness function is supposed to render 0 black, 1 unchanged, and all other values as a linear multiplier.

The current WebKit implementation clamps values between -1 (black) and 1 (white) [2]. There is a bug open to change the filter effect spec [3].

TODO: revisit this if the spec is still unmodified before we release

[1] https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html [2] https://github.com/WebKit/webkit/commit/8f4765e569 [3] https://www.w3.org/Bugs/Public/show_bug.cgi?id=15647

Name Type Description
brightness number

The brightness of the layer.

setContrast(contrast) inherited experimental

src/ol/layer/layerbase.js, line 310

Adjust the layer contrast. A value of 0 will render the layer completely grey. A value of 1 will leave the contrast unchanged. Other values are linear multipliers on the effect (and values over 1 are permitted).

Name Type Description
contrast number

The contrast of the layer.

setExtent(extent) inherited

src/ol/layer/layerbase.js, line 342

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.

setHue(hue) inherited experimental

src/ol/layer/layerbase.js, line 326

Apply a hue-rotation to the layer. A value of 0 will leave the hue unchanged. Other values are radians around the color circle.

Name Type Description
hue number

The hue of the layer.

setMaxResolution(maxResolution) inherited

src/ol/layer/layerbase.js, line 356
Name Type Description
maxResolution number

The maximum resolution of the layer.

setMinResolution(minResolution) inherited

src/ol/layer/layerbase.js, line 370
Name Type Description
minResolution number

The minimum resolution of the layer.

setOpacity(opacity) inherited

src/ol/layer/layerbase.js, line 384
Name Type Description
opacity number

The opacity of the layer.

setProperties(values) inherited experimental

src/ol/object.js, line 456

Sets a collection of key-value pairs.

Name Type Description
values Object.<string, *>

Values.

setSaturation(saturation) inherited experimental

src/ol/layer/layerbase.js, line 403

Adjust layer saturation. A value of 0 will render the layer completely unsaturated. A value of 1 will leave the saturation unchanged. Other values are linear multipliers of the effect (and values over 1 are permitted).

Name Type Description
saturation number

The saturation of the layer.

setSource(source) inherited

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

Set the layer source.

Name Type Description
source ol.source.Source

The layer source.

setStyle(style)

src/ol/layer/vectorlayer.js, line 153

Set the style for features. This can be a single style object, an array of styles, or a function that takes a feature and resolution and returns an array of styles. If it is undefined the default style is used. If it is null the layer has no style (a null style), so only features that have their own styles will be rendered in the layer. See ol.style for information on the default style.

Name Type Description
style ol.style.Style | Array.<ol.style.Style> | ol.style.StyleFunction | undefined

Layer style.

setVisible(visible) inherited

src/ol/layer/layerbase.js, line 417
Name Type Description
visible boolean

The visibility of the layer.

un(type, listener, opt_this) inherited

src/ol/observable.js, line 101

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.

unbind(key) inherited experimental

src/ol/object.js, line 470

Removes a binding. Unbinding will set the unbound property to the current value. The object will not be notified, as the value has not changed.

Name Type Description
key string

Key name.

unbindAll() inherited experimental

src/ol/object.js, line 487

Removes all bindings.

unByKey(key) inherited

src/ol/observable.js, line 114

Removes an event listener using the key returned by on() or once(). Note that using the ol.Observable.unByKey static function is to be preferred.

Name Type Description
key goog.events.Key

The key returned by on() or once().