# Class: OGCVectorTile

This documentation is for OpenLayers v10.9.0. The latest is v.

## ol/source/OGCVectorTile~OGCVectorTile

    import OGCVectorTile from 'ol/source/OGCVectorTile.js';

Layer source for map tiles from an OGC API - Tiles service that provides "vector" type tiles. The service must conform to at least the core (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/core) and tileset (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tileset) conformance classes. For supporting the `collections` option, the service must conform to the collections selection (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/collections-selection) conformance class.

Vector tile sets may come in a variety of formats (e.g. GeoJSON, MVT). The `format` option is used to determine which of the advertised media types is used. If you need to force the use of a particular media type, you can provide the `mediaType` option.

#### new OGCVectorTile(options)

source/OGCVectorTile.js, line 56

  Name | Type | Description
  --- | --- | ---
  `url` | string | URL to the OGC Vector Tileset endpoint.
  `context` | Object | undefined | A lookup of values to use in the tile URL template. The `{tileMatrix}` (zoom level), `{tileRow}`, and `{tileCol}` variables in the URL will always be provided by the source.
  `format` | FeatureFormat<FeatureType> | undefined | Feature format for tiles. Used and required by the default.
  `mediaType` | string | undefined | The content type for the tiles (e.g. "application/vnd.mapbox-vector-tile"). If not provided, the source will try to find a link with rel="item" that uses a vector type supported by the configured format.
  `attributions` | AttributionLike | undefined | Attributions.
  `attributionsCollapsible` | boolean (defaults to true) | Attributions are collapsible.
  `cacheSize` | number | undefined | Deprecated. Use the cacheSize option on the layer instead.
  `overlaps` | boolean (defaults to true) | This source may have overlapping geometries. Setting this to `false` (e.g. for sources with polygons that represent administrative boundaries or TopoJSON sources) allows the renderer to optimise fill and stroke operations.
  `projection` | ProjectionLike (defaults to 'EPSG:3857') | Projection of the tile grid.
  `tileClass` | Class<VectorTile> | undefined | Class used to instantiate image tiles. Default is `VectorTile`.
  `transition` | number | undefined | A duration for tile opacity transitions in milliseconds. A duration of 0 disables the opacity transition.
  `wrapX` | boolean (defaults to true) | Whether to wrap the world horizontally. When set to `false`, only one world will be rendered. When set to `true`, tiles will be wrapped horizontally to render multiple worlds.
  `zDirection` | number | NearestDirectionFunction (defaults to 1) | Choose whether to use tiles with a higher or lower zoom level when between integer zoom levels. See `getZForResolution`.
  `collections` | Array.<string> | undefined | A list of geospatial data sub-resources to include. If not provided, the entire dataset will be included. This option is not applicable when requesting the tileset for a single collection.

  ##### Fires:

  - `change` (BaseEvent) - Generic change event. Triggered when the revision counter is increased.
  - `error` (BaseEvent) - Generic error event. Triggered when an error occurs.
  - `propertychange` (ObjectEvent) - Triggered when a property is changed.
  - `tileloadend` (TileSourceEvent) - Triggered when a tile finishes loading, either when its data is loaded, or when loading was aborted because the tile is no longer needed.
  - `tileloaderror` (TileSourceEvent) - Triggered if tile loading results in an error. Note that this is not the right place to re-fetch tiles. See `load` for details.
  - `tileloadstart` (TileSourceEvent) - Triggered when a tile starts loading.

### Extends

- VectorTile

### Methods

#### changed() inherited

Observable.js, line 68

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

#### clear() inherited

source/Tile.js, line 258

  Remove all cached reprojected tiles from the source. The next render cycle will create new tiles.

#### dispatchEvent(event){boolean | undefined} inherited

events/Target.js, line 85

  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` | BaseEvent | string | Event object.

  ##### Returns:

  `false` if anyone called preventDefault on the event object or if any of the listeners returned false.

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

Object.js, line 136

  Gets a value.

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

  ##### Returns:

  Value.

#### getAttributions(){Attribution} inherited

source/Source.js, line 129

  Get the attribution function for the source.

  ##### Returns:

  Attribution function.

#### getAttributionsCollapsible(){boolean} inherited

source/Source.js, line 137

  ##### Returns:

  Attributions are collapsible.

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

Object.js, line 149

  Get a list of object property names.

  ##### Returns:

  List of property names.

#### getProjection(){Projection | null} inherited

source/Source.js, line 146

  Get the projection of the source.

  ##### Returns:

  Projection.

#### getProperties(){NoInfer.<Properties>} inherited

Object.js, line 158

  Get an object of all property names and values.

  ##### Returns:

  Object.

#### getRevision(){number} inherited

Observable.js, line 79

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

  ##### Returns:

  Revision.

#### getState(){State} inherited

source/Source.js, line 170

  Get the state of the source, see `State` for possible states.

  ##### Returns:

  State.

#### getTileGrid(){TileGrid | null} inherited

source/Tile.js, line 190

  Return the tile grid of the tile source.

  ##### Returns:

  Tile grid.

#### getTileLoadFunction(){LoadFunction} inherited

source/UrlTile.js, line 100

  Deprecated. Use an ImageTile source instead. Return the tile load function of the source.

  ##### Returns:

  TileLoadFunction

#### getTileUrlFunction(){UrlFunction} inherited

source/UrlTile.js, line 110

  Deprecated. Use an ImageTile source instead. Return the tile URL function of the source.

  ##### Returns:

  TileUrlFunction

#### getUrls(){!Array.<string> | null} inherited

source/UrlTile.js, line 124

  Deprecated. Use an ImageTile source instead. Return the URLs used for this source. When a tileUrlFunction is used instead of url or urls, null will be returned.

  ##### Returns:

  URLs.

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

Observable.js, line 152

  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.

  ##### 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){EventsKey | Array<EventsKey>} inherited

Observable.js, line 164

  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.

  ##### 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, silent) inherited

Object.js, line 218

  Sets a value.

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

#### setAttributions(attributions) inherited

source/Source.js, line 203

  Set the attributions of the source.

  Name | Type | Description
  --- | --- | ---
  `attributions` | AttributionLike | undefined | Attributions. Can be passed as `string`, `Array<string>`, `Attribution`, or `undefined`.

#### setProperties(values, silent) inherited

Object.js, line 238

  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` | Partial.<NoInfer.<Properties>> | Values.
  `silent` | boolean | undefined | Update without triggering an event.

#### setTileLoadFunction(tileLoadFunction) inherited

source/UrlTile.js, line 161

  Deprecated. Use an ImageTile source instead. Set the tile load function of the source.

  Name | Type | Description
  --- | --- | ---
  `tileLoadFunction` | LoadFunction | Tile load function.

#### setTileUrlFunction(tileUrlFunction, key) inherited

source/UrlTile.js, line 173

  Deprecated. Use an ImageTile source instead. Set the tile URL function of the source.

  Name | Type | Description
  --- | --- | ---
  `tileUrlFunction` | UrlFunction | Tile URL function.
  `key` | string | undefined | Optional new tile key for the source.

#### setUrl(url) inherited

source/UrlTile.js, line 187

  Set the URL to use for requests.

  Name | Type | Description
  --- | --- | ---
  `url` | string | URL.

#### setUrls(urls) inherited

source/UrlTile.js, line 199

  Deprecated. Use an ImageTile source instead. Set the URLs to use for requests.

  Name | Type | Description
  --- | --- | ---
  `urls` | Array.<string> | URLs.

#### un(type, listener) inherited

Observable.js, line 173

  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.

#### unset(key, silent) inherited

Object.js, line 262

  Unsets a property.

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