# Class: ImageVector

## ol.source.ImageVector

An image source whose images are canvas elements into which vector features read from a vector source (`ol.source.Vector`) are drawn. An `ol.source.ImageVector` object is to be used as the `source` of an image layer (`ol.layer.Image`). Image layers are rotated, scaled, and translated, as opposed to being re-rendered, during animations and interactions. So, like any other image layer, an image layer configured with an `ol.source.ImageVector` will exhibit this behaviour. This is in contrast to a vector layer, where vector features are re-drawn during animations and interactions.

#### new ol.source.ImageVector(options) experimental

src/ol/source/imagevectorsource.js, line 35

  Name | Type | Description
  --- | --- | ---
  `options` | Options.
  Name | Type | Description
  --- | --- | ---
  `attributions` | Array.<ol.Attribution> | undefined | optional Attributions.
  `extent` | ol.Extent | undefined | optional Extent.
  `logo` | string | undefined | optional Logo.
  `projection` | ol.proj.ProjectionLike | Projection.
  `ratio` | number | undefined | optional Ratio. 1 means canvases are the size of the map viewport, 2 means twice the size of the map viewport, and so on. Default is `1.5`.
  `resolutions` | Array.<number> | undefined | optional Resolutions. If specified, new canvases will be created for these resolutions only.
  `source` | ol.source.Vector | The vector source from which the vector features drawn in canvas elements are read.
  `style` | ol.style.Style | Array.<ol.style.Style> | ol.feature.StyleFunction | undefined | optional Style to use when rendering features to the canvas.

  ##### Fires:

  - `change` experimental - Triggered when the state of the source changes.

### Extends

- ol.source.ImageCanvas

### Methods

#### dispatchChangeEvent() inherited experimental

src/ol/observable.js, line 41

  Dispatches a `change` event.

  ##### Fires:

  - `change` experimental

#### getSource(){ol.source.Vector} experimental

src/ol/source/imagevectorsource.js, line 171

  ##### Returns:

  Source.

#### getState(){ol.source.State} inherited experimental

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

  ##### Returns:

  State.

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

src/ol/observable.js, line 63

  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 | optional The object to use as `this` in `listener`.

  ##### Returns:

  Unique key for the listener.

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

src/ol/observable.js, line 76

  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 | optional The object to use as `this` in `listener`.

  ##### Returns:

  Unique key for the listener.

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

src/ol/observable.js, line 88

  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 | optional The object to use as `this` in `listener`.

#### unByKey(key) inherited experimental

src/ol/observable.js, line 98

  Removes an event listener using the key returned by `on()` or `once()`.

  Name | Type | Description
  --- | --- | ---
  `key` | goog.events.Key | Key.