Class: PluggableMap

ol/PluggableMap~PluggableMap


import PluggableMap from 'ol/PluggableMap';

new PluggableMap(options)

PluggableMap.js, line 142
Name Type Description
options

Map options.

Name Type Default Description
controls module:ol/Collection~Collection.<module:ol/control/Control~Control> | Array.<module:ol/control/Control~Control>

Controls initially added to the map. If not specified, module:ol/control/util~defaults is used.

pixelRatio number window.devicePixelRatio

The ratio between physical pixels and device-independent pixels (dips) on the device.

interactions module:ol/Collection~Collection.<module:ol/interaction/Interaction~Interaction> | Array.<module:ol/interaction/Interaction~Interaction>

Interactions that are initially added to the map. If not specified, module:ol/interaction~defaults is used.

keyboardEventTarget HTMLElement | Document | string

The element to listen to keyboard events on. This determines when the KeyboardPan and KeyboardZoom interactions trigger. For example, if this option is set to document the keyboard interactions will always trigger. If this option is not specified, the element the library listens to keyboard events on is the map target (i.e. the user-provided div for the map). If this is not document, the target element needs to be focused for key events to be emitted, requiring that the target element has a tabindex attribute.

layers Array.<module:ol/layer/Base~BaseLayer> | module:ol/Collection~Collection.<module:ol/layer/Base~BaseLayer>

Layers. If this is not defined, a map with no layers will be rendered. Note that layers are rendered in the order supplied, so if you want, for example, a vector layer to appear on top of a tile layer, it must come after the tile layer.

maxTilesLoading number 16

Maximum number tiles to load simultaneously.

loadTilesWhileAnimating boolean false

When set to true, tiles will be loaded during animations. This may improve the user experience, but can also make animations stutter on devices with slow memory.

loadTilesWhileInteracting boolean false

When set to true, tiles will be loaded while interacting with the map. This may improve the user experience, but can also make map panning and zooming choppy on devices with slow memory.

moveTolerance number 1

The minimum distance in pixels the cursor must move to be detected as a map move event instead of a click. Increasing this value can make it easier to click on the map.

overlays module:ol/Collection~Collection.<module:ol/Overlay~Overlay> | Array.<module:ol/Overlay~Overlay>

Overlays initially added to the map. By default, no overlays are added.

target HTMLElement | string

The container for the map, either the element itself or the id of the element. If not specified at construction time, module:ol/Map~Map#setTarget must be called for the map to be rendered.

view module:ol/View~View

The map's view. No layer sources will be fetched unless this is specified at construction time or through module:ol/Map~Map#setView.

Fires:

Methods

addControl(control)

PluggableMap.js, line 476

Add the given control to the map.

Name Type Description
control module:ol/control/Control~Control

Control.

addInteraction(interaction)

PluggableMap.js, line 485

Add the given interaction to the map.

Name Type Description
interaction module:ol/interaction/Interaction~Interaction

Interaction to add.

addLayer(layer)

PluggableMap.js, line 496

Adds the given layer to the top of this map. If you want to add a layer elsewhere in the stack, use getLayers() and the methods available on module:ol/Collection~Collection.

Name Type Description
layer module:ol/layer/Base~BaseLayer

Layer.

addOverlay(overlay)

PluggableMap.js, line 506

Add the given overlay to the map.

Name Type Description
overlay module:ol/Overlay~Overlay

Overlay.

forEachFeatureAtPixel(pixel, callback, opt_options){T|undefined}

PluggableMap.js, line 563

Detect features that intersect a pixel on the viewport, and execute a callback with each intersecting feature. Layers included in the detection can be configured through the layerFilter option in opt_options.

Name Type Description
pixel module:ol/pixel~Pixel

Pixel.

callback function

Feature callback. The callback will be called with two arguments. The first argument is one feature or render feature at the pixel, the second is the layer of the feature and will be null for unmanaged layers. To stop detection, callback functions can return a truthy value.

options

Optional options.

Name Type Default Description
layerFilter undefined | function

Layer filter function. The filter function will receive one argument, the layer-candidate and it should return a boolean value. Only layers which are visible and for which this function returns true will be tested for features. By default, all visible layers will be tested.

hitTolerance number 0

Hit-detection tolerance in pixels. Pixels inside the radius around the given position will be checked for features. This only works for the canvas renderer and not for WebGL.

Returns:
Callback result, i.e. the return value of last callback execution, or the first truthy callback return value.

forEachLayerAtPixel(pixel, callback, opt_options){T|undefined}

PluggableMap.js, line 614

Detect layers that have a color value at a pixel on the viewport, and execute a callback with each matching layer. Layers included in the detection can be configured through opt_layerFilter.

Name Type Description
pixel module:ol/pixel~Pixel

Pixel.

callback function

Layer callback. This callback will receive two arguments: first is the layer, second argument is an array representing [R, G, B, A] pixel values (0 - 255) and will be null for layer types that do not currently support this argument. To stop detection, callback functions can return a truthy value.

options

Configuration options.

Name Type Default Description
layerFilter undefined | function

Layer filter function. The filter function will receive one argument, the layer-candidate and it should return a boolean value. Only layers which are visible and for which this function returns true will be tested for features. By default, all visible layers will be tested.

hitTolerance number 0

Hit-detection tolerance in pixels. Pixels inside the radius around the given position will be checked for features. This only works for the canvas renderer and not for WebGL.

Returns:
Callback result, i.e. the return value of last callback execution, or the first truthy callback return value.

getControls(){module:ol/Collection~Collection.<module:ol/control/Control~Control>}

PluggableMap.js, line 724

Get the map controls. Modifying this collection changes the controls associated with the map.

Returns:
Controls.

getCoordinateFromPixel(pixel){module:ol/coordinate~Coordinate}

PluggableMap.js, line 709

Get the coordinate for a given pixel. This returns a coordinate in the map view projection.

Name Type Description
pixel module:ol/pixel~Pixel

Pixel position in the map viewport.

Returns:
The coordinate for the pixel position.

getEventCoordinate(event){module:ol/coordinate~Coordinate}

PluggableMap.js, line 654

Returns the coordinate in view projection for a browser event.

Name Type Description
event Event

Event.

Returns:
Coordinate.

getEventPixel(event){module:ol/pixel~Pixel}

PluggableMap.js, line 664

Returns the map pixel position for a browser event relative to the viewport.

Name Type Description
event Event

Event.

Returns:
Pixel.

getFeaturesAtPixel(pixel, opt_options){Array.<(module:ol/Feature~Feature|module:ol/render/Feature~RenderFeature)>}

PluggableMap.js, line 586

Get all features that intersect a pixel on the viewport.

Name Type Description
pixel module:ol/pixel~Pixel

Pixel.

options

Optional options.

Name Type Default Description
layerFilter undefined | function

Layer filter function. The filter function will receive one argument, the layer-candidate and it should return a boolean value. Only layers which are visible and for which this function returns true will be tested for features. By default, all visible layers will be tested.

hitTolerance number 0

Hit-detection tolerance in pixels. Pixels inside the radius around the given position will be checked for features. This only works for the canvas renderer and not for WebGL.

Returns:
The detected features or null if none were found.

Get the map interactions. Modifying this collection changes the interactions associated with the map.

Interactions are used for e.g. pan, zoom and rotate.

Returns:
Interactions.

getLayerGroup(){module:ol/layer/Group~LayerGroup}

PluggableMap.js, line 769

Get the layergroup associated with this map.

Returns:
A layer group containing the layers in this map.

getLayers(){module:ol/Collection~Collection.<module:ol/layer/Base~BaseLayer>}

PluggableMap.js, line 780

Get the collection of layers associated with this map.

Returns:
Layers.

getOverlayById(id){module:ol/Overlay~Overlay}

PluggableMap.js, line 746

Get an overlay by its identifier (the value returned by overlay.getId()). Note that the index treats string and numeric identifiers as the same. So map.getOverlayById(2) will return an overlay with id '2' or 2.

Name Type Description
id string | number

Overlay identifier.

Returns:
Overlay.

getOverlays(){module:ol/Collection~Collection.<module:ol/Overlay~Overlay>}

PluggableMap.js, line 734

Get the map overlays. Modifying this collection changes the overlays associated with the map.

Returns:
Overlays.

getPixelFromCoordinate(coordinate){module:ol/pixel~Pixel}

PluggableMap.js, line 792

Get the pixel for a coordinate. This takes a coordinate in the map view projection and returns the corresponding pixel.

Name Type Description
coordinate module:ol/coordinate~Coordinate

A map coordinate.

Returns:
A pixel position in the map viewport.

getSize(){module:ol/size~Size|undefined}

PluggableMap.js, line 815

Get the size of this map.

Returns:
The size in pixels of the map in the DOM.

getTarget(){HTMLElement|string|undefined}

PluggableMap.js, line 682

Get the target in which this map is rendered. Note that this returns what is entered as an option or in setTarget: if that was an element, it returns an element; if a string, it returns that.

Returns:
The Element or id of the Element that the map is rendered in.

getTargetElement(){HTMLElement}

PluggableMap.js, line 693

Get the DOM element into which this map is rendered. In contrast to getTarget this method always return an Element, or null if the map has no target.

Returns:
The element that the map is rendered in.

getView(){module:ol/View~View}

PluggableMap.js, line 828

Get the view associated with this map. A view manages properties such as center and resolution.

Returns:
The view that controls this map.

getViewport(){HTMLElement}

PluggableMap.js, line 839

Get the element that serves as the map viewport.

Returns:
Viewport.

hasFeatureAtPixel(pixel, opt_options){boolean}

PluggableMap.js, line 635

Detect if features intersect a pixel on the viewport. Layers included in the detection can be configured through opt_layerFilter.

Name Type Description
pixel module:ol/pixel~Pixel

Pixel.

options

Optional options.

Name Type Default Description
layerFilter undefined | function

Layer filter function. The filter function will receive one argument, the layer-candidate and it should return a boolean value. Only layers which are visible and for which this function returns true will be tested for features. By default, all visible layers will be tested.

hitTolerance number 0

Hit-detection tolerance in pixels. Pixels inside the radius around the given position will be checked for features. This only works for the canvas renderer and not for WebGL.

Returns:
Is there a feature at the given pixel?

removeControl(control){module:ol/control/Control~Control|undefined}

PluggableMap.js, line 1130

Remove the given control from the map.

Name Type Description
control module:ol/control/Control~Control

Control.

Returns:
The removed control (or undefined if the control was not found).

removeInteraction(interaction){module:ol/interaction/Interaction~Interaction|undefined}

PluggableMap.js, line 1141

Remove the given interaction from the map.

Name Type Description
interaction module:ol/interaction/Interaction~Interaction

Interaction to remove.

Returns:
The removed interaction (or undefined if the interaction was not found).

removeLayer(layer){module:ol/layer/Base~BaseLayer|undefined}

PluggableMap.js, line 1152

Removes the given layer from the map.

Name Type Description
layer module:ol/layer/Base~BaseLayer

Layer.

Returns:
The removed layer (or undefined if the layer was not found).

removeOverlay(overlay){module:ol/Overlay~Overlay|undefined}

PluggableMap.js, line 1164

Remove the given overlay from the map.

Name Type Description
overlay module:ol/Overlay~Overlay

Overlay.

Returns:
The removed overlay (or undefined if the overlay was not found).

render()

PluggableMap.js, line 1117

Request a map rendering (at the next animation frame).

renderSync()

PluggableMap.js, line 1106

Requests an immediate render in a synchronous manner.

setLayerGroup(layerGroup)

PluggableMap.js, line 1259

Sets the layergroup of this map.

Name Type Description
layerGroup module:ol/layer/Group~LayerGroup

A layer group containing the layers in this map.

setSize(size)

PluggableMap.js, line 1269

Set the size of this map.

Name Type Description
size module:ol/size~Size | undefined

The size in pixels of the map in the DOM.

setTarget(target)

PluggableMap.js, line 1280

Set the target element to render this map into.

Name Type Description
target HTMLElement | string | undefined

The Element or id of the Element that the map is rendered in.

setView(view)

PluggableMap.js, line 1290

Set the view for this map.

Name Type Description
view module:ol/View~View

The view that controls this map.

updateSize()

PluggableMap.js, line 1308

Force a recalculation of the map viewport size. This should be called when third-party code changes the size of the map viewport.