Class: Heatmap

ol/layer/Heatmap~Heatmap


import Heatmap from 'ol/layer/Heatmap';

Layer for rendering vector data as a heatmap. Note that any property set in the options is set as a module:ol/Object~BaseObject 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 Heatmap(opt_options)

layer/Heatmap.js, line 70
Name Type Description
options

Options.

Name Type Description
className string (defaults to 'ol-layer')

A CSS class name to set to the layer element.

opacity number (defaults to 1)

Opacity (0, 1).

visible boolean (defaults to true)

Visibility.

extent module:ol/extent~Extent

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

zIndex number

The z-index for layer rendering. At rendering time, the layers will be ordered, first by Z-index and then by position. When undefined, a zIndex of 0 is assumed for layers that are added to the map's layers collection, or Infinity when the layer's setMap() method was used.

minResolution number

The minimum resolution (inclusive) at which this layer will be visible.

maxResolution number

The maximum resolution (exclusive) below which this layer will be visible.

gradient Array.<string> (defaults to ['#00f', '#0ff', '#0f0', '#ff0', '#f00'])

The color gradient of the heatmap, specified as an array of CSS color strings.

radius number (defaults to 8)

Radius size in pixels.

blur number (defaults to 15)

Blur size in pixels.

weight string | function (defaults to 'weight')

The feature attribute to use for the weight or a function that returns a weight from a feature. Weight values should range from 0 to 1 (and values outside will be clamped to that range).

source module:ol/source/Vector~VectorSource

Source.

Fires:

Extends

Observable Properties

Name Type Settable ol/Object.ObjectEvent type Description
blur number yes change:blur

Blur size in pixels.

extent module:ol/extent~Extent | undefined yes change:extent

The layer extent.

gradient Array.<string> yes change:gradient

Colors.

maxResolution number yes change:maxresolution

The maximum resolution of the layer.

maxZoom number yes change:maxzoom

The maximum zoom level of the layer.

minResolution number yes change:minresolution

The minimum resolution of the layer.

minZoom number yes change:minzoom

The minimum zoom level of the layer.

opacity number yes change:opacity

The opacity of the layer.

radius number yes change:radius

Radius size in pixel.

source SourceType 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

Observable.js, line 36

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

dispatchEvent(event){boolean|undefined} inherited

events/Target.js, line 96

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 | module:ol/events/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 119

Gets a value.

Name Type Description
key string

Key name.

Returns:
Value.

getBlur(){number}

layer/Heatmap.js, line 115

Return the blur size in pixels.

Returns:
Blur size in pixels.

getExtent(){module:ol/extent~Extent|undefined} inherited

layer/Base.js, line 152

Return the extent of the layer or undefined if it will be visible regardless of extent.

Returns:
The layer extent.

getFeatures(pixel){Promise.<Array.<module:ol/Feature~Feature>>} inherited

layer/BaseVector.js, line 152

Get the topmost feature that intersects the given pixel on the viewport. Returns a promise that resolves with an array of features. The array will either contain the topmost feature when a hit was detected, or it will be empty.

The hit detection algorithm used for this method is optimized for performance, but is less accurate than the one used in module:ol/PluggableMap~PluggableMap#getFeaturesAtPixel: Text is not considered, and icons are only represented by their bounding box instead of the exact image.

Name Type Description
pixel module:ol/pixel~Pixel

Pixel.

Returns:
Promise that resolves with an array of features.

getGradient(){Array.<string>}

layer/Heatmap.js, line 125

Return the gradient colors as array of strings.

Returns:
Colors.

getKeys(){Array.<string>} inherited

Object.js, line 132

Get a list of object property names.

Returns:
List of property names.

getMaxResolution(){number} inherited

layer/Base.js, line 164

Return the maximum resolution of the layer.

Returns:
The maximum resolution of the layer.

getMaxZoom(){number} inherited

layer/Base.js, line 194

Return the maximum zoom level of the layer.

Returns:
The maximum zoom level of the layer.

getMinResolution(){number} inherited

layer/Base.js, line 174

Return the minimum resolution of the layer.

Returns:
The minimum resolution of the layer.

getMinZoom(){number} inherited

layer/Base.js, line 184

Return the minimum zoom level of the layer.

Returns:
The minimum zoom level of the layer.

getOpacity(){number} inherited

layer/Base.js, line 204

Return the opacity of the layer (between 0 and 1).

Returns:
The opacity of the layer.

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

Object.js, line 141

Get an object of all property names and values.

Returns:
Object.

getRadius(){number}

layer/Heatmap.js, line 135

Return the size of the radius in pixels.

Returns:
Radius size in pixel.

getRevision(){number} inherited

Observable.js, line 47

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

Returns:
Revision.

getSource(){SourceType} inherited

layer/Layer.js, line 159

Get the layer source.

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

getStyle(){module:ol/style/Style~StyleLike} inherited

layer/BaseVector.js, line 180

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(){module:ol/style/Style~StyleFunction|undefined} inherited

layer/BaseVector.js, line 189

Get the style function.

Returns:
Layer style function.

getVisible(){boolean} inherited

layer/Base.js, line 222

Return the visibility of the layer (true or false).

Returns:
The visibility of the layer.

getZIndex(){number} inherited

layer/Base.js, line 233

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){module:ol/events~EventsKey|Array.<module:ol/events~EventsKey>} inherited

Observable.js, line 60

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){module:ol/events~EventsKey|Array.<module:ol/events~EventsKey>} inherited

Observable.js, line 82

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, opt_silent) inherited

Object.js, line 164

Sets a value.

Name Type Description
key string

Key name.

value *

Value.

silent boolean

Update without triggering an event.

setBlur(blur)

layer/Heatmap.js, line 152

Set the blur size in pixels.

Name Type Description
blur number

Blur size in pixels.

setExtent(extent) inherited

layer/Base.js, line 244

Set the extent at which the layer is visible. If undefined, the layer will be visible at all extents.

Name Type Description
extent module:ol/extent~Extent | undefined

The extent of the layer.

setGradient(colors)

layer/Heatmap.js, line 162

Set the gradient colors as array of strings.

Name Type Description
colors Array.<string>

Gradient.

setMap(map) inherited

layer/Layer.js, line 231

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 module: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 module:ol/Map#addLayer instead.

Name Type Description
map module:ol/PluggableMap~PluggableMap

Map.

setMaxResolution(maxResolution) inherited

layer/Base.js, line 254

Set the maximum resolution at which the layer is visible.

Name Type Description
maxResolution number

The maximum resolution of the layer.

setMaxZoom(maxZoom) inherited

layer/Base.js, line 276

Set the maximum zoom (exclusive) at which the layer is visible. Note that the zoom levels for layer visibility are based on the view zoom level, which may be different from a tile source zoom level.

Name Type Description
maxZoom number

The maximum zoom of the layer.

setMinResolution(minResolution) inherited

layer/Base.js, line 264

Set the minimum resolution at which the layer is visible.

Name Type Description
minResolution number

The minimum resolution of the layer.

setMinZoom(minZoom) inherited

layer/Base.js, line 288

Set the minimum zoom (inclusive) at which the layer is visible. Note that the zoom levels for layer visibility are based on the view zoom level, which may be different from a tile source zoom level.

Name Type Description
minZoom number

The minimum zoom of the layer.

setOpacity(opacity) inherited

layer/Base.js, line 298

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

Object.js, line 183

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.

setRadius(radius)

layer/Heatmap.js, line 172

Set the size of the radius in pixels.

Name Type Description
radius number

Radius size in pixel.

setSource(source) inherited

layer/Layer.js, line 259

Set the layer source.

Name Type Description
source SourceType

The layer source.

setStyle(style) inherited

layer/BaseVector.js, line 227

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 module:ol/style for information on the default style.

Name Type Description
style module:ol/style/Style~Style | Array.<module:ol/style/Style~Style> | module:ol/style/Style~StyleFunction | null | undefined

Layer style.

setVisible(visible) inherited

layer/Base.js, line 309

Set the visibility of the layer (true or false).

Name Type Description
visible boolean

The visibility of the layer.

setZIndex(zindex) inherited

layer/Base.js, line 320

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) inherited

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.

unset(key, opt_silent) inherited

Object.js, line 195

Unsets a property.

Name Type Description
key string

Key name.

silent boolean

Unset without triggering an event.