OpenLayers v4.0.1 API - Namespace: source

# Namespace: source

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

## olx.source

### Type Definitions

#### olx.source.BingMapsOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `cacheSize` | number | undefined | <optional> | Cache size. Default is `2048`.
  `hidpi` | boolean | undefined | <optional> | If `true` hidpi tiles will be requested. Default is `false`.
  `culture` | string | undefined | <optional> | Culture code. Default is `en-us`.
  `key` | string |  | Bing Maps API key. Get yours at http://www.bingmapsportal.com/. Required.
  `imagerySet` | string |  | Type of imagery. Required.
  `maxZoom` | number | undefined | <optional> | Max zoom. Default is what's advertized by the BingMaps service (`21` currently).
  `reprojectionErrorThreshold` | number | undefined | <optional> | Maximum allowed reprojection error (in pixels). Default is `0.5`. Higher values can increase reprojection performance, but decrease precision.

  `tileLoadFunction`

  ol.TileLoadFunctionType | undefined

  <optional>

  Optional function to load a tile given a URL. The default is

      function(imageTile, src) {
        imageTile.getImage().src = src;
      };

  `wrapX` | boolean | undefined | <optional> | Whether to wrap the world horizontally. Default is `true`.

#### olx.source.CartoDBOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `cacheSize` | number | undefined | <optional> | Cache size. Default is `2048`.
  `crossOrigin` | null | string | undefined | <optional> | The `crossOrigin` attribute for loaded images. Note that you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to access pixel data with the Canvas renderer. See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
  `logo` | string | olx.LogoOptions | undefined | <optional> | Logo.
  `projection` | ol.ProjectionLike |  | Projection. Default is `EPSG:3857`.
  `maxZoom` | number | undefined | <optional> | Optional max zoom level. Default is `18`.
  `minZoom` | number | undefined | <optional> | Minimum zoom.
  `wrapX` | boolean | undefined | <optional> | Whether to wrap the world horizontally. Default is `true`.
  `config` | Object | undefined | <optional> | If using anonymous maps, the CartoDB config to use. See http://docs.cartodb.com/cartodb-platform/maps-api/anonymous-maps/ for more detail. If using named maps, a key-value lookup with the template parameters. See http://docs.cartodb.com/cartodb-platform/maps-api/named-maps/ for more detail.
  `map` | string | undefined | <optional> | If using named maps, this will be the name of the template to load. See http://docs.cartodb.com/cartodb-platform/maps-api/named-maps/ for more detail.
  `account` | string |  | CartoDB account name Required.

#### olx.source.ClusterOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `distance` | number | undefined | <optional> | Minimum distance in pixels between clusters. Default is `20`.
  `extent` | ol.Extent | undefined | <optional> | Extent.

  `geometryFunction`

  undefined | function

  <optional>

  Function that takes an `ol.Feature` as argument and returns an `ol.geom.Point` as cluster calculation point for the feature. When a feature should not be considered for clustering, the function should return `null`. The default, which works when the underyling source contains point features only, is

      function(feature) {
        return feature.getGeometry();
      }

  See `ol.geom.Polygon#getInteriorPoint` for a way to get a cluster calculation point for polygons.

  `format` | ol.format.Feature | undefined | <optional> | Format.
  `logo` | string | undefined | <optional> | Logo.
  `projection` | ol.ProjectionLike |  | Projection.
  `source` | ol.source.Vector |  | Source. Required.
  `wrapX` | boolean | undefined | <optional> | WrapX. Default is true

#### olx.source.ImageArcGISRestOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | Array.<ol.Attribution> | undefined | <optional> | Attributions.
  `crossOrigin` | null | string | undefined | <optional> | The `crossOrigin` attribute for loaded images. Note that you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to access pixel data with the Canvas renderer. See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
  `hidpi` | boolean | undefined | <optional> | Use the `ol.Map#pixelRatio` value when requesting the image from the remote server. Default is `true`.
  `logo` | string | olx.LogoOptions | undefined | <optional> | Logo.
  `imageLoadFunction` | ol.ImageLoadFunctionType | undefined | <optional> | Optional function to load an image given a URL.
  `params` | Object.<string, *> | undefined | <optional> | ArcGIS Rest parameters. This field is optional. Service defaults will be used for any fields not specified. `FORMAT` is `PNG32` by default. `F` is `IMAGE` by default. `TRANSPARENT` is `true` by default. `BBOX,`SIZE`,`BBOXSR`, and`IMAGESR`will be set dynamically. Set`LAYERS` to override the default service layer visibility. See http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#/Export_Map/02r3000000v7000000/ for further reference.
  `projection` | ol.ProjectionLike |  | Projection.
  `ratio` | number | undefined | <optional> | Ratio. `1` means image requests 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, requests will be made for these resolutions only.
  `url` | string | undefined | <optional> | ArcGIS Rest service URL for a Map Service or Image Service. The url should include /MapServer or /ImageServer.

#### olx.source.ImageCanvasOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `canvasFunction` | ol.CanvasFunctionType |  | Canvas function. The function returning the canvas element used by the source as an image. The arguments passed to the function are: `{ol.Extent}` the image extent, `{number}` the image resolution, `{number}` the device pixel ratio, `{ol.Size}` the image size, and `{ol.proj.Projection}` the image projection. The canvas returned by this function is cached by the source. If the value returned by the function is later changed then `dispatchChangeEvent` should be called on the source for the source to invalidate the current cached image. Required.
  `logo` | string | olx.LogoOptions | undefined | <optional> | Logo.
  `projection` | ol.ProjectionLike |  | Projection.
  `ratio` | number | undefined | <optional> | Ratio. 1 means canvases are the size of the map viewport, 2 means twice the width and height of the map viewport, and so on. Must be `1` or higher. Default is `1.5`.
  `resolutions` | Array.<number> | undefined | <optional> | Resolutions. If specified, new canvases will be created for these resolutions only.
  `state` | ol.source.State | undefined | <optional> | Source state.

#### olx.source.ImageMapGuideOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `url` | string | undefined | <optional> | The mapagent url.
  `displayDpi` | number | undefined | <optional> | The display resolution. Default is `96`.
  `metersPerUnit` | number | undefined | <optional> | The meters-per-unit value. Default is `1`.
  `hidpi` | boolean | undefined | <optional> | Use the `ol.Map#pixelRatio` value when requesting the image from the remote server. Default is `true`.
  `useOverlay` | boolean | undefined | <optional> | If `true`, will use `GETDYNAMICMAPOVERLAYIMAGE`.
  `projection` | ol.ProjectionLike |  | Projection.
  `ratio` | number | undefined | <optional> | Ratio. `1` means image requests are the size of the map viewport, `2` means twice the width and height of the map viewport, and so on. Must be `1` or higher. Default is `1`.
  `resolutions` | Array.<number> | undefined | <optional> | Resolutions. If specified, requests will be made for these resolutions only.
  `imageLoadFunction` | ol.ImageLoadFunctionType | undefined | <optional> | Optional function to load an image given a URL.
  `params` | Object | undefined | <optional> | Additional parameters.

#### olx.source.ImageStaticOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `crossOrigin` | null | string | undefined | <optional> | The `crossOrigin` attribute for loaded images. Note that you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to access pixel data with the Canvas renderer. See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
  `imageExtent` | ol.Extent |  | Extent of the image in map coordinates. This is the [left, bottom, right, top] map coordinates of your image. Required.
  `imageLoadFunction` | ol.ImageLoadFunctionType | undefined | <optional> | Optional function to load an image given a URL.
  `logo` | string | olx.LogoOptions | undefined | <optional> | Optional logo.
  `projection` | ol.ProjectionLike |  | Projection.
  `imageSize` | ol.Size | undefined | <optional> | Size of the image in pixels. Usually the image size is auto-detected, so this only needs to be set if auto-detection fails for some reason.
  `url` | string |  | Image URL. Required.

#### olx.source.ImageVectorOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `logo` | string | olx.LogoOptions | undefined | <optional> | Logo.
  `projection` | ol.ProjectionLike |  | Projection.
  `ratio` | number | undefined | <optional> | Ratio. 1 means canvases are the size of the map viewport, 2 means twice the width and height of the map viewport, and so on. Must be `1` or higher. Default is `1.5`.
  `renderBuffer` | number | undefined | <optional> | The buffer around the viewport extent used by the renderer when getting features from the vector source for the rendering or hit-detection. Recommended value: the size of the largest symbol, line width or label. Default is 100 pixels.
  `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. Required.
  `style` | ol.style.Style | Array.<ol.style.Style> | ol.StyleFunction | undefined | <optional> | Style to use when rendering features to the canvas.

#### olx.source.ImageWMSOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `crossOrigin` | null | string | undefined | <optional> | The `crossOrigin` attribute for loaded images. Note that you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to access pixel data with the Canvas renderer. See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
  `hidpi` | boolean | undefined | <optional> | Use the `ol.Map#pixelRatio` value when requesting the image from the remote server. Default is `true`.
  `serverType` | ol.source.WMSServerType | string | undefined | <optional> | The type of the remote WMS server: `mapserver`, `geoserver` or `qgis`. Only needed if `hidpi` is `true`. Default is `undefined`.
  `imageLoadFunction` | ol.ImageLoadFunctionType | undefined | <optional> | Optional function to load an image given a URL.
  `logo` | string | olx.LogoOptions | undefined | <optional> | Logo.
  `params` | Object.<string, *> |  | WMS request parameters. At least a `LAYERS` param is required. `STYLES` is `''` by default. `VERSION` is `1.3.0` by default. `WIDTH`, `HEIGHT`, `BBOX` and `CRS` (`SRS` for WMS version < 1.3.0) will be set dynamically. Required.
  `projection` | ol.ProjectionLike |  | Projection.
  `ratio` | number | undefined | <optional> | Ratio. `1` means image requests are the size of the map viewport, `2` means twice the width and height of the map viewport, and so on. Must be `1` or higher. Default is `1.5`.
  `resolutions` | Array.<number> | undefined | <optional> | Resolutions. If specified, requests will be made for these resolutions only.
  `url` | string | undefined | <optional> | WMS service URL.

#### olx.source.MapQuestOptions{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `cacheSize` | number | undefined | Cache size. Default is `2048`.
  `layer` | string | Layer. Possible values are `osm`, `sat`, and `hyb`. Required.
  `reprojectionErrorThreshold` | number | undefined | Maximum allowed reprojection error (in pixels). Default is `0.5`. Higher values can increase reprojection performance, but decrease precision.

  `tileLoadFunction`

  ol.TileLoadFunctionType | undefined

  Optional function to load a tile given a URL. The default is

      function(imageTile, src) {
        imageTile.getImage().src = src;
      };

  `url` | string | undefined | URL template. Must include `{x}`, `{y}` or `{-y}`, and `{z}` placeholders.

#### olx.source.OSMOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `cacheSize` | number | undefined | <optional> | Cache size. Default is `2048`.

  `crossOrigin`

  null | string | undefined

  <optional>

  The `crossOrigin` attribute for loaded images. Note that you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to access pixel data with the Canvas renderer. See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.

  Default is `anonymous`.

  `maxZoom` | number | undefined | <optional> | Max zoom. Default is `19`.
  `opaque` | boolean | undefined | <optional> | Whether the layer is opaque. Default is `true`.
  `reprojectionErrorThreshold` | number | undefined | <optional> | Maximum allowed reprojection error (in pixels). Default is `0.5`. Higher values can increase reprojection performance, but decrease precision.

  `tileLoadFunction`

  ol.TileLoadFunctionType | undefined

  <optional>

  Optional function to load a tile given a URL. The default is

      function(imageTile, src) {
        imageTile.getImage().src = src;
      };

  `url` | string | undefined | <optional> | URL template. Must include `{x}`, `{y}` or `{-y}`, and `{z}` placeholders. Default is `https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png`.
  `wrapX` | boolean | undefined | <optional> | Whether to wrap the world horizontally. Default is `true`.

#### olx.source.RasterOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `sources` | Array.<ol.source.Source> |  | Input sources. Required.
  `operation` | ol.RasterOperation | undefined | <optional> | Raster operation. The operation will be called with data from input sources and the output will be assigned to the raster source.
  `lib` | Object | undefined | <optional> | Functions that will be made available to operations run in a worker.
  `threads` | number | undefined | <optional> | By default, operations will be run in a single worker thread. To avoid using workers altogether, set `threads: 0`. For pixel operations, operations can be run in multiple worker threads. Note that there is additional overhead in transferring data to multiple workers, and that depending on the user's system, it may not be possible to parallelize the work.
  `operationType` | ol.source.RasterOperationType | undefined | <optional> | Operation type. Supported values are `'pixel'` and `'image'`. By default, `'pixel'` operations are assumed, and operations will be called with an array of pixels from input sources. If set to `'image'`, operations will be called with an array of ImageData objects from input sources.

#### olx.source.StamenOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `cacheSize` | number | undefined | <optional> | Cache size. Default is `2048`.
  `layer` | string |  | Layer. Required.
  `minZoom` | number | undefined | <optional> | Minimum zoom.
  `maxZoom` | number | undefined | <optional> | Maximum zoom.
  `opaque` | boolean | undefined | <optional> | Whether the layer is opaque.
  `reprojectionErrorThreshold` | number | undefined | <optional> | Maximum allowed reprojection error (in pixels). Default is `0.5`. Higher values can increase reprojection performance, but decrease precision.

  `tileLoadFunction`

  ol.TileLoadFunctionType | undefined

  <optional>

  Optional function to load a tile given a URL. The default is

      function(imageTile, src) {
        imageTile.getImage().src = src;
      };

  `url` | string | undefined | <optional> | URL template. Must include `{x}`, `{y}` or `{-y}`, and `{z}` placeholders.

#### olx.source.TileArcGISRestOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `cacheSize` | number | undefined | <optional> | Cache size. Default is `2048`.
  `crossOrigin` | null | string | undefined | <optional> | The `crossOrigin` attribute for loaded images. Note that you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to access pixel data with the Canvas renderer. See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
  `params` | Object.<string, *> | undefined | <optional> | ArcGIS Rest parameters. This field is optional. Service defaults will be used for any fields not specified. `FORMAT` is `PNG32` by default. `F` is `IMAGE` by default. `TRANSPARENT` is `true` by default. `BBOX,`SIZE`,`BBOXSR`, and`IMAGESR`will be set dynamically. Set`LAYERS` to override the default service layer visibility. See http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#/Export_Map/02r3000000v7000000/ for further reference.
  `logo` | string | olx.LogoOptions | undefined | <optional> | Logo.
  `tileGrid` | ol.tilegrid.TileGrid | undefined | <optional> | Tile grid. Base this on the resolutions, tilesize and extent supported by the server. If this is not defined, a default grid will be used: if there is a projection extent, the grid will be based on that; if not, a grid based on a global extent with origin at 0,0 will be used.
  `projection` | ol.ProjectionLike |  | Projection.
  `reprojectionErrorThreshold` | number | undefined | <optional> | Maximum allowed reprojection error (in pixels). Default is `0.5`. Higher values can increase reprojection performance, but decrease precision.

  `tileLoadFunction`

  ol.TileLoadFunctionType | undefined

  <optional>

  Optional function to load a tile given a URL. The default is

      function(imageTile, src) {
        imageTile.getImage().src = src;
      };

  `url` | string | undefined | <optional> | ArcGIS Rest service URL for a Map Service or Image Service. The url should include /MapServer or /ImageServer.
  `wrapX` | boolean | undefined | <optional> | Whether to wrap the world horizontally. Default is `true`.
  `urls` | Array.<string> | undefined | <optional> | ArcGIS Rest service urls. Use this instead of `url` when the ArcGIS Service supports multiple urls for export requests.

#### olx.source.TileDebugOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `projection` | ol.ProjectionLike |  | Projection.
  `tileGrid` | ol.tilegrid.TileGrid | undefined | <optional> | Tile grid.
  `wrapX` | boolean | undefined | <optional> | Whether to wrap the world horizontally. Default is `true`.

#### olx.source.TileImageOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `cacheSize` | number | undefined | <optional> | Cache size. Default is `2048`.
  `crossOrigin` | null | string | undefined | <optional> | The `crossOrigin` attribute for loaded images. Note that you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to access pixel data with the Canvas renderer. See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
  `logo` | string | olx.LogoOptions | undefined | <optional> | Logo.
  `opaque` | boolean | undefined | <optional> | Whether the layer is opaque.
  `projection` | ol.ProjectionLike |  | Projection.
  `reprojectionErrorThreshold` | number | undefined | <optional> | Maximum allowed reprojection error (in pixels). Default is `0.5`. Higher values can increase reprojection performance, but decrease precision.
  `state` | ol.source.State | undefined | <optional> | Source state.
  `tileClass` | function | undefined | <optional> | Class used to instantiate image tiles. Default is `ol.ImageTile`.
  `tileGrid` | ol.tilegrid.TileGrid | undefined | <optional> | Tile grid.

  `tileLoadFunction`

  ol.TileLoadFunctionType | undefined

  <optional>

  Optional function to load a tile given a URL. The default is

      function(imageTile, src) {
        imageTile.getImage().src = src;
      };

  `tilePixelRatio` | number | undefined | <optional> | The pixel ratio used by the tile service. For example, if the tile service advertizes 256px by 256px tiles but actually sends 512px by 512px images (for retina/hidpi devices) then `tilePixelRatio` should be set to `2`. Default is `1`.
  `tileUrlFunction` | ol.TileUrlFunctionType | undefined | <optional> | Optional function to get tile URL given a tile coordinate and the projection.
  `url` | string | undefined | <optional> | URL template. Must include `{x}`, `{y}` or `{-y}`, and `{z}` placeholders. A `{?-?}` template pattern, for example `subdomain{a-f}.domain.com`, may be used instead of defining each one separately in the `urls` option.
  `urls` | Array.<string> | undefined | <optional> | An array of URL templates.
  `wrapX` | boolean | undefined | <optional> | Whether to wrap the world horizontally. The default, `undefined`, is to request out-of-bounds tiles from the server. When set to `false`, only one world will be rendered. When set to `true`, tiles will be requested for one world only, but they will be wrapped horizontally to render multiple worlds.

#### olx.source.TileJSONOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Optional attributions for the source. If provided, these will be used instead of any attribution data advertised by the server. If not provided, any attributions advertised by the server will be used.
  `cacheSize` | number | undefined | <optional> | Cache size. Default is `2048`.
  `crossOrigin` | null | string | undefined | <optional> | The `crossOrigin` attribute for loaded images. Note that you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to access pixel data with the Canvas renderer. See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
  `jsonp` | boolean | undefined | <optional> | Use JSONP with callback to load the TileJSON. Useful when the server does not support CORS. Default is `false`.
  `reprojectionErrorThreshold` | number | undefined | <optional> | Maximum allowed reprojection error (in pixels). Default is `0.5`. Higher values can increase reprojection performance, but decrease precision.

  `tileLoadFunction`

  ol.TileLoadFunctionType | undefined

  <optional>

  Optional function to load a tile given a URL. The default is

      function(imageTile, src) {
        imageTile.getImage().src = src;
      };

  `url` | string |  | URL to the TileJSON file. Required.
  `wrapX` | boolean | undefined | <optional> | Whether to wrap the world horizontally. Default is `true`.

#### olx.source.TileUTFGridOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `jsonp` | boolean | undefined | <optional> | Use JSONP with callback to load the TileJSON. Useful when the server does not support CORS. Default is `false`.
  `preemptive` | boolean | undefined | <optional> | If `true` the TileUTFGrid source loads the tiles based on their "visibility". This improves the speed of response, but increases traffic. Note that if set to `false`, you need to pass `true` as `opt_request` to the `forDataAtCoordinateAndResolution` method otherwise no data will ever be loaded. Default is `true`.
  `tileJSON` | TileJSON | undefined | <optional> | TileJSON configuration for this source. If not provided, `url` must be configured.
  `url` | string | undefined | <optional> | TileJSON endpoint that provides the configuration for this source. Request will be made through JSONP. If not provided, `tileJSON` must be configured.

#### olx.source.TileWMSOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `cacheSize` | number | undefined | <optional> | Cache size. Default is `2048`.
  `params` | Object.<string, *> |  | WMS request parameters. At least a `LAYERS` param is required. `STYLES` is `''` by default. `VERSION` is `1.3.0` by default. `WIDTH`, `HEIGHT`, `BBOX` and `CRS` (`SRS` for WMS version < 1.3.0) will be set dynamically. Required.
  `crossOrigin` | null | string | undefined | <optional> | The `crossOrigin` attribute for loaded images. Note that you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to access pixel data with the Canvas renderer. See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
  `gutter` | number | undefined | <optional> | The size in pixels of the gutter around image tiles to ignore. By setting this property to a non-zero value, images will be requested that are wider and taller than the tile size by a value of `2 x gutter`. Defaults to zero. Using a non-zero value allows artifacts of rendering at tile edges to be ignored. If you control the WMS service it is recommended to address "artifacts at tile edges" issues by properly configuring the WMS service. For example, MapServer has a `tile_map_edge_buffer` configuration parameter for this. See http://mapserver.org/output/tile_mode.html.
  `hidpi` | boolean | undefined | <optional> | Use the `ol.Map#pixelRatio` value when requesting the image from the remote server. Default is `true`.
  `logo` | string | olx.LogoOptions | undefined | <optional> | Logo.
  `tileGrid` | ol.tilegrid.TileGrid | undefined | <optional> | Tile grid. Base this on the resolutions, tilesize and extent supported by the server. If this is not defined, a default grid will be used: if there is a projection extent, the grid will be based on that; if not, a grid based on a global extent with origin at 0,0 will be used.
  `projection` | ol.ProjectionLike |  | Projection.
  `reprojectionErrorThreshold` | number | undefined | <optional> | Maximum allowed reprojection error (in pixels). Default is `0.5`. Higher values can increase reprojection performance, but decrease precision.
  `serverType` | ol.source.WMSServerType | string | undefined | <optional> | The type of the remote WMS server. Currently only used when `hidpi` is `true`. Default is `undefined`.

  `tileLoadFunction`

  ol.TileLoadFunctionType | undefined

  <optional>

  Optional function to load a tile given a URL. The default is

      function(imageTile, src) {
        imageTile.getImage().src = src;
      };

  `url` | string | undefined | <optional> | WMS service URL.
  `urls` | Array.<string> | undefined | <optional> | WMS service urls. Use this instead of `url` when the WMS supports multiple urls for GetMap requests.
  `wrapX` | boolean | undefined | <optional> | Whether to wrap the world horizontally. When set to `false`, only one world will be rendered. When `true`, tiles will be requested for one world only, but they will be wrapped horizontally to render multiple worlds. The default is `true`.

#### olx.source.VectorOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `features` | Array.<ol.Feature> | ol.Collection.<ol.Feature> | undefined | <optional> | Features. If provided as `ol.Collection`, the features in the source and the collection will stay in sync.
  `format` | ol.format.Feature | undefined | <optional> | The feature format used by the XHR feature loader when `url` is set. Required if `url` is set, otherwise ignored. Default is `undefined`.
  `loader` | ol.FeatureLoader | undefined | <optional> | The loader function used to load features, from a remote source for example. If this is not set and `url` is set, the source will create and use an XHR feature loader.
  `logo` | string | olx.LogoOptions | undefined | <optional> | Logo.
  `overlaps` | boolean | undefined | <optional> | This source may have overlapping geometries. Default is `true`. 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.
  `strategy` | ol.LoadingStrategy | undefined | <optional> | The loading strategy to use. By default an `ol.loadingstrategy.all` strategy is used, a one-off strategy which loads all features at once.
  `url` | string | ol.FeatureUrlFunction | undefined | <optional> | Setting this option instructs the source to load features using an XHR loader (see `ol.featureloader.xhr`). Use a `string` and an `ol.loadingstrategy.all` for a one-off download of all features from the given URL. Use a `ol.FeatureUrlFunction` to generate the url with other loading strategies. Requires `format` to be set as well. When default XHR feature loader is provided, the features will be transformed from the data projection to the view projection during parsing. If your remote data source does not advertise its projection properly, this transformation will be incorrect. For some formats, the default projection (usually EPSG:4326) can be overridden by setting the defaultDataProjection constructor option on the format. Note that if a source contains non-feature data, such as a GeoJSON geometry or a KML NetworkLink, these will be ignored. Use a custom loader to load these.

  `useSpatialIndex`

  boolean | undefined

  <optional>

  By default, an RTree is used as spatial index. When features are removed and added frequently, and the total number of features is low, setting this to `false` may improve performance.

  Note that `ol.source.Vector#getFeaturesInExtent`, `ol.source.Vector#getClosestFeatureToCoordinate` and `ol.source.Vector#getExtent` cannot be used when `useSpatialIndex` is set to `false`, and `ol.source.Vector#forEachFeatureInExtent` will loop through all features.

  When set to `false`, the features will be maintained in an `ol.Collection`, which can be retrieved through `ol.source.Vector#getFeaturesCollection`.

  The default is `true`.

  `wrapX` | boolean | undefined | <optional> | Wrap the world horizontally. Default is `true`. For vector editing across the -180° and 180° meridians to work properly, this should be set to `false`. The resulting geometry coordinates will then exceed the world bounds.

#### olx.source.VectorTileOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `cacheSize` | number | undefined | <optional> | Cache size. Default is `128`.
  `format` | ol.format.Feature | undefined | <optional> | Feature format for tiles. Used and required by the default `tileLoadFunction`.
  `logo` | string | olx.LogoOptions | undefined | <optional> | Logo.
  `overlaps` | boolean | undefined | <optional> | This source may have overlapping geometries. Default is `true`. 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` | ol.ProjectionLike |  | Projection.
  `state` | ol.source.State | undefined | <optional> | Source state.
  `tileClass` | function | undefined | <optional> | Class used to instantiate image tiles. Default is `ol.VectorTile`.
  `tileGrid` | ol.tilegrid.TileGrid | undefined | <optional> | Tile grid.

  `tileLoadFunction`

  ol.TileLoadFunctionType | undefined

  <optional>

  Optional function to load a tile given a URL. Could look like this:

      function(tile, url) {
        tile.setLoader(function() {
          var data = // ... fetch data
          var format = tile.getFormat();
          tile.setFeatures(format.readFeatures(data));
          tile.setProjection(format.readProjection(data));
        };
      });

  `tilePixelRatio` | number | undefined | <optional> | The pixel ratio used by the tile service. For example, if the tile service advertizes 256px by 256px tiles but actually sends 512px by 512px tiles (for retina/hidpi devices) then `tilePixelRatio` should be set to `2`. Default is `1`.
  `tileUrlFunction` | ol.TileUrlFunctionType | undefined | <optional> | Optional function to get tile URL given a tile coordinate and the projection.
  `url` | string | undefined | <optional> | URL template. Must include `{x}`, `{y}` or `{-y}`, and `{z}` placeholders. A `{?-?}` template pattern, for example `subdomain{a-f}.domain.com`, may be used instead of defining each one separately in the `urls` option.
  `urls` | Array.<string> | undefined | <optional> | An array of URL templates.
  `wrapX` | boolean | undefined | <optional> | 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. Default is `true`.

#### olx.source.WMTSOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `cacheSize` | number | undefined | <optional> | Cache size. Default is `2048`.
  `crossOrigin` | string | null | undefined | <optional> | The `crossOrigin` attribute for loaded images. Note that you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to access pixel data with the Canvas renderer. See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
  `logo` | string | olx.LogoOptions | undefined | <optional> | Logo.
  `tileGrid` | ol.tilegrid.WMTS |  | Tile grid. Required.
  `projection` | ol.ProjectionLike |  | Projection.
  `reprojectionErrorThreshold` | number | undefined | <optional> | Maximum allowed reprojection error (in pixels). Default is `0.5`. Higher values can increase reprojection performance, but decrease precision.
  `requestEncoding` | ol.source.WMTSRequestEncoding | string | undefined | <optional> | Request encoding. Default is `KVP`.
  `layer` | string |  | Layer name as advertised in the WMTS capabilities. Required.
  `style` | string |  | Style name as advertised in the WMTS capabilities. Required.
  `tileClass` | function | undefined | <optional> | Class used to instantiate image tiles. Default is `ol.ImageTile`.
  `tilePixelRatio` | number | undefined | <optional> | The pixel ratio used by the tile service. For example, if the tile service advertizes 256px by 256px tiles but actually sends 512px by 512px images (for retina/hidpi devices) then `tilePixelRatio` should be set to `2`. Default is `1`.
  `version` | string | undefined | <optional> | WMTS version. Default is `1.0.0`.
  `format` | string | undefined | <optional> | Image format. Default is `image/jpeg`.
  `matrixSet` | string |  | Matrix set. Required.
  `dimensions` | Object | undefined | <optional> | Additional "dimensions" for tile requests. This is an object with properties named like the advertised WMTS dimensions.
  `url` | string | undefined | <optional> | A URL for the service. For the RESTful request encoding, this is a URL template. For KVP encoding, it is normal URL. A `{?-?}` template pattern, for example `subdomain{a-f}.domain.com`, may be used instead of defining each one separately in the `urls` option.

  `tileLoadFunction`

  ol.TileLoadFunctionType | undefined

  <optional>

  Optional function to load a tile given a URL. The default is

      function(imageTile, src) {
        imageTile.getImage().src = src;
      };

  `urls` | Array.<string> | undefined | <optional> | An array of URLs. Requests will be distributed among the URLs in this array.
  `wrapX` | boolean | undefined | <optional> | Whether to wrap the world horizontally. Default is `false`.

#### olx.source.XYZOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `cacheSize` | number | undefined | <optional> | Cache size. Default is `2048`.
  `crossOrigin` | null | string | undefined | <optional> | The `crossOrigin` attribute for loaded images. Note that you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to access pixel data with the Canvas renderer. See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
  `logo` | string | olx.LogoOptions | undefined | <optional> | Logo.
  `opaque` | boolean | undefined | <optional> | Whether the layer is opaque.
  `projection` | ol.ProjectionLike |  | Projection. Default is `EPSG:3857`.
  `reprojectionErrorThreshold` | number | undefined | <optional> | Maximum allowed reprojection error (in pixels). Default is `0.5`. Higher values can increase reprojection performance, but decrease precision.
  `maxZoom` | number | undefined | <optional> | Optional max zoom level. Default is `18`.
  `minZoom` | number | undefined | <optional> | Optional min zoom level. Default is `0`.
  `tileGrid` | ol.tilegrid.TileGrid | undefined | <optional> | Tile grid.

  `tileLoadFunction`

  ol.TileLoadFunctionType | undefined

  <optional>

  Optional function to load a tile given a URL. The default is

      function(imageTile, src) {
        imageTile.getImage().src = src;
      };

  `tilePixelRatio` | number | undefined | <optional> | The pixel ratio used by the tile service. For example, if the tile service advertizes 256px by 256px tiles but actually sends 512px by 512px images (for retina/hidpi devices) then `tilePixelRatio` should be set to `2`. Default is `1`.
  `tileSize` | number | ol.Size | undefined | <optional> | The tile size used by the tile service. Default is `[256, 256]` pixels.
  `tileUrlFunction` | ol.TileUrlFunctionType | undefined | <optional> | Optional function to get tile URL given a tile coordinate and the projection. Required if url or urls are not provided.
  `url` | string | undefined | <optional> | URL template. Must include `{x}`, `{y}` or `{-y}`, and `{z}` placeholders. A `{?-?}` template pattern, for example `subdomain{a-f}.domain.com`, may be used instead of defining each one separately in the `urls` option.
  `urls` | Array.<string> | undefined | <optional> | An array of URL templates.
  `wrapX` | boolean | undefined | <optional> | Whether to wrap the world horizontally. Default is `true`.

#### olx.source.ZoomifyOptions{Object}

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `attributions` | ol.AttributionLike | undefined | <optional> | Attributions.
  `cacheSize` | number | undefined | <optional> | Cache size. Default is `2048`.
  `crossOrigin` | null | string | undefined | <optional> | The `crossOrigin` attribute for loaded images. Note that you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to access pixel data with the Canvas renderer. See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
  `logo` | string | olx.LogoOptions | undefined | <optional> | Logo.
  `projection` | ol.ProjectionLike | undefined | <optional> | Projection.
  `reprojectionErrorThreshold` | number | undefined | <optional> | Maximum allowed reprojection error (in pixels). Default is `0.5`. Higher values can increase reprojection performance, but decrease precision.
  `url` | string |  | URL template or base URL of the Zoomify service. A base URL is the fixed part of the URL, excluding the tile group, z, x, and y folder structure, e.g. `http://my.zoomify.info/IMAGE.TIF/`. A URL template must include `{TileGroup}`, `{x}`, `{y}`, and `{z}` placeholders, e.g. `http://my.zoomify.info/IMAGE.TIF/{TileGroup}/{z}-{x}-{y}.jpg`. A `{?-?}` template pattern, for example `subdomain{a-f}.domain.com`, may be used instead of defining each one separately in the `urls` option. Required.
  `tierSizeCalculation` | string | undefined | <optional> | Tier size calculation method: `default` or `truncated`.
  `size` | ol.Size |  | Size of the image. Required.