ol. ol.Overlay

new Overlay

Stability: stable

An element to show on top of the map, such as for a popup.

Example:

var popup = new ol.Overlay({
  element: document.getElementById('popup')
});
popup.setPosition(coordinate);
map.addOverlay(popup);
Parameters:
Name Type Description
options olx.OverlayOptions

Overlay options.

Properties
Name Type Description
element Element | undefined

The overlay element.

position ol.Coordinate | undefined

The overlay position in map projection.

positioning ol.OverlayPositioning | string | undefined

Positioning.

stopEvent boolean | undefined

Whether event propagation to the map viewport should be stopped. Default is true. If true the overlay is placed in the same container as that of the controls (ol-overlaycontainer-stopevent).

insertFirst boolean | undefined

Whether the overlay is inserted first in the overlay container, or appended. Default is true. If the overlay is placed in the same container as that of the controls (see the stopEvent option) you will probably set insertFirst to true so the overlay is displayed below the controls.

offsetX number | undefined

Horizontal offset in pixels. A positive will shift the overlay right. Default is 0.

offsetY number | undefined

Vertical offset in pixels. A positive will shift the overlay down. Default is 0.

Source:
  • overlay.js, line 70
Fires:

Extends

Observable Properties

Name Type Settable ol.ObjectEvent type Description
element Element yes change:element the Element containing the overlay
map ol.Map yes change:map the map that the overlay is part of
position ol.Coordinate yes change:position the spatial point that the overlay is anchored at
positioning ol.OverlayPositioning yes change:positioning how the overlay is positioned relative to its point on the map

Methods

bindTo

Stability: experimental

The bindTo method allows you to set up a two-way binding between a source and target object. The method returns an ol.ObjectAccessor with a transform method that lets you transform values on the way from the source to the target and on the way back.

For example, if you had two map views (sourceView and targetView) and you wanted the target view to have double the resolution of the source view, you could transform the resolution on the way to and from the target with the following:

sourceView.bindTo('resolution', targetView)
  .transform(
    function(sourceResolution) {
      // from sourceView.resolution to targetView.resolution
      return 2 * sourceResolution;
    },
    function(targetResolution) {
      // from targetView.resolution to sourceView.resolution
      return targetResolution / 2;
    }
  );
Parameters:
Name Type Argument Description
key string

Key name.

target ol.Object

Target.

targetKey string <optional>

Target key.

Inherited From:
Source:
  • object.js, line 247
Returns:
Type
ol.ObjectAccessor

dispatchChangeEvent

Stability: experimental

Dispatches a change event. Register a listener for this event to get notified of changes.

Inherited From:
Source:
  • observable.js, line 39
Fires:
  • event:change

get

Stability: experimental

Gets a value.

Parameters:
Name Type Description
key string

Key name.

Inherited From:
Source:
  • object.js, line 304
Returns:

Value.

Type
*

getElement

Stability: experimental

Get the DOM element of this overlay.

Source:
  • overlay.js, line 165
Returns:

Element.

Type
Element | undefined

getKeys

Stability: experimental

Get a list of object property names.

Inherited From:
Source:
  • object.js, line 332
Returns:

List of property names.

Type
Array.<string>

getMap

Stability: experimental

Get the map associated with this overlay.

Source:
  • overlay.js, line 180
Returns:

Map.

Type
ol.Map | undefined

getPosition

Stability: experimental

Get the current position of this overlay.

Source:
  • overlay.js, line 195
Returns:

Position.

Type
ol.Coordinate | undefined

getPositioning

Stability: experimental

Get the current positioning of this overlay.

Source:
  • overlay.js, line 210
Returns:

Positioning.

Type
ol.OverlayPositioning | undefined

getProperties

Stability: experimental

Get an object of all property names and values.

Inherited From:
Source:
  • object.js, line 364
Returns:

Object.

Type
Object.<string, *>

notify

Stability: experimental

Notify all observers of a change on this property. This notifies both objects that are bound to the object's property as well as the object that it is bound to.

Parameters:
Name Type Description
key string

Key name.

Inherited From:
Source:
  • object.js, line 384

on

Stability: experimental

Listen for a certain type of event.

Parameters:
Name Type Argument 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.

Inherited From:
Source:
  • observable.js, line 61
Returns:

Unique key for the listener.

Type
goog.events.Key

once

Stability: experimental

Listen once for a certain type of event.

Parameters:
Name Type Argument 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.

Inherited From:
Source:
  • observable.js, line 74
Returns:

Unique key for the listener.

Type
goog.events.Key

set

Stability: experimental

Sets a value.

Parameters:
Name Type Description
key string

Key name.

value *

Value.

Inherited From:
Source:
  • object.js, line 415

setElement

Stability: experimental

Set the DOM element to be associated with this overlay.

Parameters:
Name Type Description
element Element | undefined

Element.

Source:
  • overlay.js, line 287

setMap

Stability: experimental

Set the map to be associated with this overlay.

Parameters:
Name Type Description
map ol.Map | undefined

Map.

Source:
  • overlay.js, line 301

setPosition

Stability: stable

Set the position for this overlay.

Parameters:
Name Type Description
position ol.Coordinate | undefined

Position.

Source:
  • overlay.js, line 315

setPositioning

Stability: experimental

Set the positioning for this overlay.

Parameters:
Name Type Description
positioning ol.OverlayPositioning | undefined

Positioning.

Source:
  • overlay.js, line 329

setValues

Stability: experimental

Sets a collection of key-value pairs.

Parameters:
Name Type Description
values Object.<string, *>

Values.

Inherited From:
Source:
  • object.js, line 444

un

Stability: experimental

Unlisten for a certain type of event.

Parameters:
Name Type Argument 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.

Inherited From:
Source:
  • observable.js, line 86

unbind

Stability: experimental

Removes a binding. Unbinding will set the unbound property to the current value. The object will not be notified, as the value has not changed.

Parameters:
Name Type Description
key string

Key name.

Inherited From:
Source:
  • object.js, line 458

unbindAll

Stability: experimental

Removes all bindings.

Inherited From:
Source:
  • object.js, line 482

unByKey

Stability: experimental

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

Parameters:
Name Type Description
key goog.events.Key

Key.

Inherited From:
Source:
  • observable.js, line 96