Class: Ol3Map

bemap.Ol3Map(context, target)

Base class for OpenLayers v3.

Constructor

new Ol3Map(context, target)

Parameters:
Name Type Description
context bemap.Context BeMap-JS-API Context.
target string HTML element.
options.
Source:

Extends

Members

(protected) _zoomControlVisible

Whether the zoom (+/-) control is currently visible. Initialised from the resolved `zoomControl` option (default OFF — opt-in) and flipped at runtime by `setZoomControl()`. Kept in sync so `getZoomControl()` is accurate before any runtime toggle.
Overrides:
Source:

(protected) callback

Overrides:
Source:

(protected) ctx

Overrides:
Source:

(protected) events

Overrides:
Source:

(protected) layers

Overrides:
Source:

(protected) native

Overrides:
Source:

Methods

(protected) _fireError(err)

Fire an error onto the map's error channel(s). Used by the warn-and-no-op fallback and by the new auth/tile/cache error paths.
Parameters:
Name Type Description
err bemap.Error
Since:
  • 2.0.0
Overrides:
Source:

(protected) _notSupportedByEngine(methodName) → {bemap.Map}

Report that the ACTIVE engine does not implement `methodName`, then no-op. The base class is a hand-maintained stub list, and it was only half populated (BEMAP-1898 audit). The same defect — an engine not implementing an overlay method — therefore failed two different ways: silently (`return this` for the names that were listed) or with `TypeError: … is not a function` (for the ones that were not). Neither told the developer anything useful, and the silent half is how several Leaflet gaps shipped unnoticed. Every previously-absent name now lands here: one console.warn per method per map, plus a `bemap.Error` on the map's error channel, then a harmless no-op. A TypeError becomes a visible warning; a silent nothing becomes a visible warning. Nothing that already worked changes.
Parameters:
Name Type Description
methodName String
Since:
  • 2.0.2
Overrides:
Source:
Returns:
this
Type
bemap.Map

(protected) _requiresGlobe()

Emit a one-time `info`-level error on the map's error channel when a `setLight` / `setSky` / etc. is called on a non-globe projection where the effect won't be visible. NOT auto-enabling globe — too surprising for a public API. The customer's error subscriber sees the hint; dev console gets a one-time `console.info`.
Since:
  • 2.0.0
Overrides:
Source:

(protected) _subscribeErrorChannel(eventType, callback) → {Boolean}

Wire `on('error' | 'error:auth' | 'error:network' | 'error:maplibre-only')` through to the error channel, and report whether it did. The class doc for `_onError` has always claimed "the library version of `on()` calls this when the event name starts with 'error'" — but the base `on()` is an abstract `return new bemap.Listener()`, and all three engines override it and route straight to `_onFeature` / the native map. So the DOCUMENTED way to observe auth, tile and network failures silently subscribed to nothing on every engine (BEMAP-1898 audit). Deliberately ADDITIVE: each engine calls this first and then continues with whatever it did before, so a consumer relying on an engine's native `'error'` event (MapLibre fires one) keeps receiving it — it now simply also receives the `bemap.Error` objects that `_fireError` produces.
Parameters:
Name Type Description
eventType String
callback function
Since:
  • 2.0.2
Overrides:
Source:
Returns:
true when the error channel was subscribed
Type
Boolean

add3DBuildings(options) → {bemap.Map}

Add 3D extruded buildings. MapLibre only.
Parameters:
Name Type Description
options object Building configuration.
Overrides:
Source:
Returns:
this
Type
bemap.Map

addCircle(circle, options) → {bemap.Map}

Add circle to the map.
Parameters:
Name Type Description
circle bemap.Circle
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

addDrawControl(options) → {bemap.Map}

Add a drawing toolbar to the map.
Parameters:
Name Type Description
options Object See below.
Properties
Name Type Description
polygon boolean Enable polygon drawing (default: true).
polyline boolean Enable polyline drawing (default: false).
rectangle boolean Enable rectangle drawing (default: false).
circle boolean Enable circle drawing (default: false).
marker boolean Enable marker drawing (default: false).
position String Toolbar position: 'topright','topleft','bottomright','bottomleft' (default: 'topright').
onDrawEnd function Callback when a shape is drawn.
Overrides:
Source:
Returns:
this
Type
bemap.Map

addGeoJsonSource(id, data) → {bemap.Map}

Add a GeoJSON data source. MapLibre only.
Parameters:
Name Type Description
id string Source identifier.
data object GeoJSON data.
Overrides:
Source:
Returns:
this
Type
bemap.Map

addImage(id, image) → {bemap.Map}

Register a custom image for use in symbol layers. MapLibre only.
Parameters:
Name Type Description
id string Image identifier.
image object Image data.
Overrides:
Source:
Returns:
this
Type
bemap.Map

addLayer(layer, options) → {bemap.Map}

Add a layer to the map
Parameters:
Name Type Description
layer bemap.Layer
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) addMarker(marker, options) → {bemap.Map}

Add a marker to the layer
Parameters:
Name Type Description
marker bemap.Marker
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) addMultiMarker(multipoint, options) → {bemap.Map}

Add a multipoint to the layer
Parameters:
Name Type Description
multipoint bemap.MultiPoint
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

addPolygon(polygon, options) → {bemap.Map}

Add polygon to the map.
Parameters:
Name Type Description
polygon bemap.Polygon
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) addPolyline(Polyline, options) → {bemap.Map}

Add a Polyline to the layer
Parameters:
Name Type Description
Polyline bemap.Polyline
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

addPopup(popup, options) → {bemap.Map}

Add a popup to the map
Parameters:
Name Type Description
popup bemap.Popup
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

backgroundLayers(geoservers) → {bemap.Map}

Create a background layer for each geoserver name.
Parameters:
Name Type Description
geoservers array List of geoserver name.
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) buildIcon(icon, options) → {bemap.Map}

Build icon resource.
Parameters:
Name Type Description
icon bemap.Icon
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) buildLineStyle(LineStyle, options) → {bemap.Map}

Build LineStyle resource.
Parameters:
Name Type Description
LineStyle bemap.LineStyle
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

clearAllEffects() → {bemap.Map}

Tear down every registered effect. Invokes each teardown in registration order, swallowing errors per-teardown so one failure doesn't block the rest. Each teardown is expected to call `_unregisterEffect` itself via the matching `remove*`/`stop*` path; the registry is cleared at the end regardless.
Since:
  • 2.0.0
Overrides:
Source:
Returns:
Type
bemap.Map

(abstract) clearLayer(layer) → {bemap.Map}

Remove all objects from a layer.
Parameters:
Name Type Description
layer bemap.Layer the layer object to clear.
Overrides:
Source:
Returns:
this
Type
bemap.Map

clearPopup() → {bemap.Map}

Remove all the popups from the map.
Overrides:
Source:
Returns:
this;
Type
bemap.Map

defaultLayers(options) → {bemap.Map}

Add default layers.
Parameters:
Name Type Description
options object
Properties
Name Type Description
markerAsCluster boolean
Overrides:
Source:
Returns:
this
Type
bemap.Map

defaultOverlayLayers(options) → {bemap.Map}

Add default overlay layers, like dedicated for markers or polyline, etc.
Parameters:
Name Type Description
options object
Properties
Name Type Description
markerAsCluster boolean
Overrides:
Source:
Returns:
this
Type
bemap.Map

(protected) draggableMarker(marker, callback, options) → {bemap.Listener}

Define the draggable capability for bemap.Marker.
Parameters:
Name Type Description
marker bemap.Marker bemap object.
callback function Function will be called when the specified eventType is occur.
options object Options.
Properties
Name Type Description
layerFilter bemap.Layer set the bemap layer used as filter.
Overrides:
Source:
Returns:
bemap.listener.
Type
bemap.Listener

(protected) draggableMarkers(callback, options) → {bemap.Listener}

Define the draggable capability for all bemap.Marker.
Parameters:
Name Type Description
callback function Function will be called when the specified eventType is occur.
options object Options.
Properties
Name Type Description
layerFilter bemap.Layer set the bemap layer used as filter.
Overrides:
Source:
Returns:
bemap.listener.
Type
bemap.Listener

(protected) draggableMultiMarkers(callback, options) → {bemap.Listener}

Define the draggable capability for all bemap.MultiMarkers.
Parameters:
Name Type Description
callback function Function will be called when the specified eventType is occur.
options object Options.
Properties
Name Type Description
layerFilter bemap.Layer set the bemap layer used as filter.
Overrides:
Source:
Returns:
bemap.listener.
Type
bemap.Listener

(protected) draggablePolyline(polyline, callback, options) → {bemap.Listener}

Define the draggable capability for bemap.Polyline.
Parameters:
Name Type Description
polyline bemap.Polyline bemap object.
callback function Function will be called when the specified eventType is occur.
options object Options.
Properties
Name Type Description
layerFilter bemap.Layer set the bemap layer used as filter.
Overrides:
Source:
Returns:
bemap.listener.
Type
bemap.Listener

(protected) draggablePolylines(callback, options) → {bemap.Listener}

Define the draggable capability for all bemap.Polyline.
Parameters:
Name Type Description
callback function Function will be called when the specified eventType is occur.
options object Options.
Properties
Name Type Description
layerFilter bemap.Layer set the bemap layer used as filter.
Overrides:
Source:
Returns:
bemap.listener.
Type
bemap.Listener

drawPolygon(options, callback) → {bemap.Listener}

Draw a polygon interactively. User clicks vertices, double-clicks to finish.
Parameters:
Name Type Description
options Object See below.
Properties
Name Type Description
style bemap.PolygonStyle Style for the preview polygon.
callback function Called with bemap.MapEvent when drawing is complete. evt.bemapObject = bemap.Polygon.
Overrides:
Source:
Returns:
Type
bemap.Listener

easeTo(options) → {bemap.Map}

Smooth animated camera transition. MapLibre only.
Parameters:
Name Type Description
options object center, zoom, pitch, bearing, duration.
Overrides:
Source:
Returns:
this
Type
bemap.Map

flyTo(lon, lat, zoom, options)

Fly map to new coordinate.
Parameters:
Name Type Description
lon double longitude
lat double latitude
zoom double zoom
options Object options
Overrides:
Source:

getActiveEffects() → {Array.<String>}

Names of every currently-active effect. Snapshot — does not auto- update; subscribe via `onEffectChange` for live notification.
Since:
  • 2.0.0
Overrides:
Source:
Returns:
Type
Array.<String>

getBearing() → {number}

Get the current bearing. MapLibre only.
Overrides:
Source:
Returns:
bearing in degrees (0 if not supported).
Type
number

getBoundingBox() → {bemap.BoundingBox}

Get the limits of the map on the current zoom.
Overrides:
Source:
Returns:
the bounding box containing the limits.
Type
bemap.BoundingBox

getCenter() → {bemap.Coordinate}

Get the center of the map in bemap.Coordinate.
Overrides:
Source:
Returns:
the center of the map.
Type
bemap.Coordinate

getLayerByName(name) → {bemap.Layer}

Search the layer by name.
Parameters:
Name Type Description
name String of layer.
Overrides:
Source:
Returns:
Return the layer or null if not found.
Type
bemap.Layer

getPitch() → {number}

Get the current pitch angle. MapLibre only.
Overrides:
Source:
Returns:
pitch in degrees (0 if not supported).
Type
number

getRotation() → {int}

Get current rotation angle of map.
Overrides:
Source:
Returns:
-1 if not supported.
Type
int

getZoom() → {int}

Get current zoom of map.
Overrides:
Source:
Returns:
-1 if not supported.
Type
int

getZoomControl()

Overrides:
Source:

(abstract) isDragPan() → {boolean}

Return the satus of drag pan of map.
Parameters:
Name Type Description
options.dragPan. Object
Overrides:
Source:
Returns:
true to enable the drag pan of map, otherwise false.
Type
boolean

jumpTo(options) → {bemap.Map}

Instant camera change with pitch/bearing support. MapLibre only.
Parameters:
Name Type Description
options object center, zoom, pitch, bearing.
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) move(lon, lat, zoom, options) → {bemap.Map}

Move map to new coordinate.
Parameters:
Name Type Description
lon double Longitude in degres decimal (WGS84).
lat double Latitude in degres decimal (WGS84).
zoom int Zoom level (optional).
options Object Options (optional).
Overrides:
Source:
Returns:
this
Type
bemap.Map

moveToBoundingBox(boundingBox, options) → {bemap.Map}

Set the center and the zoom of the map to fit the bounding box.
Parameters:
Name Type Description
boundingBox bemap.BoundingBox the bounding box to fit.
options Object Options (optional).
Overrides:
Source:
Returns:
this.
Type
bemap.Map

(abstract) moveToLayerData(layer, options) → {bemap.Map}

Move map and zoom on data contains in layers.
Parameters:
Name Type Description
layer bemap.Layer Layer.
options Object Options (optional).
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) on(eventType, callback, options) → {bemap.Listener}

Set the listner when an specified eventType occur on bemap.Map.
Parameters:
Name Type Description
eventType bemap.Map.EventType Event type.
callback function Function will be called when the specified eventType is occur.
options object options.
Overrides:
Source:
Returns:
this.
Type
bemap.Listener

onEffectChange()

Subscribe to active-effect changes. Fires `{name, active}` whenever an effect is registered (`active: true`) or torn down (`active: false`). The dashboard's active-effects bar consumes this.
Since:
  • 2.0.0
Overrides:
Source:

onGetFeatureInfo(layer, options) → {bemap.Listener}

Set get feature info call back.
Parameters:
Name Type Description
layer bemap.Layer set the bemap layer.
options object options.
Properties
Name Type Description
beforeCallback function callback called at data reception and before display the popup.
afterCallback function callback called after display the popup.
Overrides:
Source:
Returns:
listener;
Type
bemap.Listener

(abstract) onMarker(marker, eventType, callback, options) → {bemap.Listener}

Set the listner when an specified eventType occur on bemap.Marker.
Parameters:
Name Type Description
marker bemap.Marker
eventType bemap.Map.EventType Event type.
callback function Function will be called when the specified eventType is occur.
options object options.
Overrides:
Source:
Returns:
this.
Type
bemap.Listener

(abstract) onMarkers(eventType, callback, options) → {bemap.Listener}

Set the listner when an specified eventType occur on all bemap.Marker.
Parameters:
Name Type Description
eventType bemap.Map.EventType Event type.
callback function Function will be called when the specified eventType is occur.
options object options.
Overrides:
Source:
Returns:
this.
Type
bemap.Listener

(abstract) onMultiMarkers(eventType, callback, options) → {bemap.Listener}

Set the listner when an specified eventType occur on all bemap.MultiMarker.
Parameters:
Name Type Description
eventType bemap.Map.EventType Event type.
callback function Function will be called when the specified eventType is occur.
options object options.
Overrides:
Source:
Returns:
this.
Type
bemap.Listener

(abstract) onPolyline(polyline, eventType, callback, options) → {bemap.Listener}

Set the listner when an specified eventType occur on bemap.Polyline.
Parameters:
Name Type Description
polyline bemap.Polyline
eventType bemap.Map.EventType Event type.
callback function Function will be called when the specified eventType is occur.
options object options.
Overrides:
Source:
Returns:
this.
Type
bemap.Listener

(abstract) onPolylines(eventType, callback, options) → {bemap.Listener}

Set the listner when an specified eventType occur on all bemap.Polyline.
Parameters:
Name Type Description
eventType bemap.Map.EventType Event type.
callback function Function will be called when the specified eventType is occur.
options object options.
Overrides:
Source:
Returns:
this.
Type
bemap.Listener

queryRenderedFeatures(point, options) → {Array}

Query rendered features at a point or in a box. MapLibre only.
Parameters:
Name Type Description
point object Screen point or bounding box.
options object Query options (layers, filter).
Overrides:
Source:
Returns:
Array of feature objects.
Type
Array

(abstract) refresh(options) → {bemap.Map}

Refresh map.
Parameters:
Name Type Description
options Object Options (optional).
Overrides:
Source:
Returns:
this
Type
bemap.Map

refreshLayer(layer) → {bemap.Map}

Refresh all objects from a layer.
Parameters:
Name Type Description
layer bemap.Layer the layer object to refresh.
Overrides:
Source:
Returns:
this
Type
bemap.Map

removeCircle(circle) → {bemap.Map}

Remove circle from the map.
Parameters:
Name Type Description
circle bemap.Circle
Overrides:
Source:
Returns:
this
Type
bemap.Map

removeImage(id) → {bemap.Map}

Remove a registered image. MapLibre only.
Parameters:
Name Type Description
id string Image identifier.
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) removeLayer(layer) → {bemap.Map}

Remove a layer from the map.
Parameters:
Name Type Description
layer bemap.Layer layer to remove from the map.
Overrides:
Source:
Returns:
this.
Type
bemap.Map

(abstract) removeMarker(marker) → {bemap.Map}

Remove a marker from the layer
Parameters:
Name Type Description
marker bemap.Marker
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) removeMultimarker(multimarker) → {bemap.Map}

Remove a multimarker from the layer
Parameters:
Name Type Description
multimarker bemap.MultiMarker
Overrides:
Source:
Returns:
this
Type
bemap.Map

removePolygon(polygon) → {bemap.Map}

Remove polygon from the map.
Parameters:
Name Type Description
polygon bemap.Polygon
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) removePolyline(polyline) → {bemap.Map}

Remove a polyline from the layer
Parameters:
Name Type Description
polyline bemap.Polyline
Overrides:
Source:
Returns:
this
Type
bemap.Map

removePopup(popup) → {bemap.Map}

Remove a popup from the map.
Parameters:
Name Type Description
popup bemap.Popup the popup to remove from the map.
Overrides:
Source:
Returns:
this;
Type
bemap.Map

removeTerrain() → {bemap.Map}

Disable 3D terrain. MapLibre only.
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) rotation(angle, options) → {bemap.Map}

Rotation of map, set new angle of map.
Parameters:
Name Type Description
angle int in degrees.
options Object Options (optional).
Overrides:
Source:
Returns:
this
Type
bemap.Map

setBearing(bearing) → {bemap.Map}

Set the bearing (compass rotation) of the map. MapLibre only.
Parameters:
Name Type Description
bearing number Bearing in degrees (0-360).
Overrides:
Source:
Returns:
this
Type
bemap.Map

setCoordinatePopup(popup, coordinate, options) → {bemap.Map}

Set the coordinate of the popup.
Parameters:
Name Type Description
popup bemap.Popup the popup of wich to set the coordinate.
coordinate bemap.Coordinate the new coordinate.
options object Options.
Properties
Name Type Description
panningMap bemap.Layer enable the map panning animation. move map from the current position to the popup anchor at the center of map.
Overrides:
Source:
Returns:
this.
Type
bemap.Map

(abstract) setDragPan(active) → {bemap.Map}

Enable or disable the drag pan of map.
Parameters:
Name Type Description
active boolean true to enable the drag pan of map, otherwise false.
options.dragPan. Object
Overrides:
Source:
Returns:
this
Type
bemap.Map

setLight(options) → {bemap.Map}

Set 3D light position and properties. MapLibre only.
Parameters:
Name Type Description
options object Light options (position, color, intensity, anchor).
Overrides:
Source:
Returns:
this
Type
bemap.Map

setPitch(pitch) → {bemap.Map}

Set the pitch (tilt) angle of the map in degrees. MapLibre only.
Parameters:
Name Type Description
pitch number Pitch angle (0-85).
Overrides:
Source:
Returns:
this
Type
bemap.Map

setProjection(type) → {bemap.Map}

Set map projection ('mercator' or 'globe'). MapLibre only.
Parameters:
Name Type Description
type string projection type.
Overrides:
Source:
Returns:
this
Type
bemap.Map

setSky(options) → {bemap.Map}

Set sky/atmosphere effects. MapLibre only.
Parameters:
Name Type Description
options object sky options.
Overrides:
Source:
Returns:
this
Type
bemap.Map

setStyle(style) → {bemap.Map}

Set the map style URL or object. MapLibre only.
Parameters:
Name Type Description
style string | object Style URL or JSON object.
Overrides:
Source:
Returns:
this
Type
bemap.Map

setTerrain(options) → {bemap.Map}

Enable 3D terrain rendering. MapLibre only.
Parameters:
Name Type Description
options object terrain options (source, exaggeration).
Overrides:
Source:
Returns:
this
Type
bemap.Map

setVisiblePopup(popup, visible) → {bemap.Popup}

Set the visiblility of the popup.
Parameters:
Name Type Description
popup bemap.Popup the popup.
visible Boolean true for visible and false for hidden.
Overrides:
Source:
Returns:
this.
Type
bemap.Popup

setZoomControl(enabled) → {bemap.Map}

Show or hide the engine's native zoom (+/-) buttons at runtime. Uniform across Leaflet, OpenLayers and MapLibre — toggles a class on the map container so the engine-specific selectors all hit at once.
Parameters:
Name Type Description
enabled Boolean
Since:
  • 1.5.0
Overrides:
Source:
Returns:
this
Type
bemap.Map

switchBackgroundLayer(geoserver) → {bemap.Map}

Switch bytween several background layers.
Parameters:
Name Type Description
geoserver String Name of geoserver.
Overrides:
Source:
Returns:
this
Type
bemap.Map

updateGeoJsonSource(id, data) → {bemap.Map}

Update an existing GeoJSON source data. MapLibre only.
Parameters:
Name Type Description
id string Source identifier.
data object New GeoJSON data.
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) visibleLayer(layer) → {bemap.Map}

Set the visibility of the layer.
Parameters:
Name Type Description
layer bemap.Layer the layer of wich to set the visibility.
visible. boolean
Overrides:
Source:
Returns:
return this.
Type
bemap.Map

(abstract) zIndexLayer(layer) → {bemap.Map}

Set the zIndex of the layer.
Parameters:
Name Type Description
layer bemap.Layer the layer of wich to set the zIndex.
zIndex. boolean
Overrides:
Source:
Returns:
return this.
Type
bemap.Map

(abstract) zoom(zoom, options) → {bemap.Map}

Zoom on map, set new zoom level.
Parameters:
Name Type Description
zoom int Zoom level (optional).
options Object Options (optional).
Overrides:
Source:
Returns:
this
Type
bemap.Map

bemap.Ol3Map(context, target)

Base class for OpenLayers v3.

Constructor

new Ol3Map(context, target)

Parameters:
Name Type Description
context bemap.Context BeMap-JS-API Context.
target string HTML element.
options.
Source:

Extends

Members

(protected) _zoomControlVisible

Whether the zoom (+/-) control is currently visible. Initialised from the resolved `zoomControl` option (default OFF — opt-in) and flipped at runtime by `setZoomControl()`. Kept in sync so `getZoomControl()` is accurate before any runtime toggle.
Overrides:
Source:

(protected) callback

Overrides:
Source:

(protected) ctx

Overrides:
Source:

(protected) events

Overrides:
Source:

(protected) layers

Overrides:
Source:

(protected) native

Overrides:
Source:

Methods

(protected) _fireError(err)

Fire an error onto the map's error channel(s). Used by the warn-and-no-op fallback and by the new auth/tile/cache error paths.
Parameters:
Name Type Description
err bemap.Error
Since:
  • 2.0.0
Overrides:
Source:

(protected) _notSupportedByEngine(methodName) → {bemap.Map}

Report that the ACTIVE engine does not implement `methodName`, then no-op. The base class is a hand-maintained stub list, and it was only half populated (BEMAP-1898 audit). The same defect — an engine not implementing an overlay method — therefore failed two different ways: silently (`return this` for the names that were listed) or with `TypeError: … is not a function` (for the ones that were not). Neither told the developer anything useful, and the silent half is how several Leaflet gaps shipped unnoticed. Every previously-absent name now lands here: one console.warn per method per map, plus a `bemap.Error` on the map's error channel, then a harmless no-op. A TypeError becomes a visible warning; a silent nothing becomes a visible warning. Nothing that already worked changes.
Parameters:
Name Type Description
methodName String
Since:
  • 2.0.2
Overrides:
Source:
Returns:
this
Type
bemap.Map

(protected) _requiresGlobe()

Emit a one-time `info`-level error on the map's error channel when a `setLight` / `setSky` / etc. is called on a non-globe projection where the effect won't be visible. NOT auto-enabling globe — too surprising for a public API. The customer's error subscriber sees the hint; dev console gets a one-time `console.info`.
Since:
  • 2.0.0
Overrides:
Source:

(protected) _subscribeErrorChannel(eventType, callback) → {Boolean}

Wire `on('error' | 'error:auth' | 'error:network' | 'error:maplibre-only')` through to the error channel, and report whether it did. The class doc for `_onError` has always claimed "the library version of `on()` calls this when the event name starts with 'error'" — but the base `on()` is an abstract `return new bemap.Listener()`, and all three engines override it and route straight to `_onFeature` / the native map. So the DOCUMENTED way to observe auth, tile and network failures silently subscribed to nothing on every engine (BEMAP-1898 audit). Deliberately ADDITIVE: each engine calls this first and then continues with whatever it did before, so a consumer relying on an engine's native `'error'` event (MapLibre fires one) keeps receiving it — it now simply also receives the `bemap.Error` objects that `_fireError` produces.
Parameters:
Name Type Description
eventType String
callback function
Since:
  • 2.0.2
Overrides:
Source:
Returns:
true when the error channel was subscribed
Type
Boolean

add3DBuildings(options) → {bemap.Map}

Add 3D extruded buildings. MapLibre only.
Parameters:
Name Type Description
options object Building configuration.
Overrides:
Source:
Returns:
this
Type
bemap.Map

addCircle(circle, options) → {bemap.Map}

Add circle to the map.
Parameters:
Name Type Description
circle bemap.Circle
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

addDrawControl(options) → {bemap.Map}

Add a drawing toolbar to the map.
Parameters:
Name Type Description
options Object See below.
Properties
Name Type Description
polygon boolean Enable polygon drawing (default: true).
polyline boolean Enable polyline drawing (default: false).
rectangle boolean Enable rectangle drawing (default: false).
circle boolean Enable circle drawing (default: false).
marker boolean Enable marker drawing (default: false).
position String Toolbar position: 'topright','topleft','bottomright','bottomleft' (default: 'topright').
onDrawEnd function Callback when a shape is drawn.
Overrides:
Source:
Returns:
this
Type
bemap.Map

addGeoJsonSource(id, data) → {bemap.Map}

Add a GeoJSON data source. MapLibre only.
Parameters:
Name Type Description
id string Source identifier.
data object GeoJSON data.
Overrides:
Source:
Returns:
this
Type
bemap.Map

addImage(id, image) → {bemap.Map}

Register a custom image for use in symbol layers. MapLibre only.
Parameters:
Name Type Description
id string Image identifier.
image object Image data.
Overrides:
Source:
Returns:
this
Type
bemap.Map

addLayer(layer, options) → {bemap.Map}

Add a layer to the map
Parameters:
Name Type Description
layer bemap.Layer
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) addMarker(marker, options) → {bemap.Map}

Add a marker to the layer
Parameters:
Name Type Description
marker bemap.Marker
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) addMultiMarker(multipoint, options) → {bemap.Map}

Add a multipoint to the layer
Parameters:
Name Type Description
multipoint bemap.MultiPoint
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

addPolygon(polygon, options) → {bemap.Map}

Add polygon to the map.
Parameters:
Name Type Description
polygon bemap.Polygon
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) addPolyline(Polyline, options) → {bemap.Map}

Add a Polyline to the layer
Parameters:
Name Type Description
Polyline bemap.Polyline
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

addPopup(popup, options) → {bemap.Map}

Add a popup to the map
Parameters:
Name Type Description
popup bemap.Popup
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

backgroundLayers(geoservers) → {bemap.Map}

Create a background layer for each geoserver name.
Parameters:
Name Type Description
geoservers array List of geoserver name.
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) buildIcon(icon, options) → {bemap.Map}

Build icon resource.
Parameters:
Name Type Description
icon bemap.Icon
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) buildLineStyle(LineStyle, options) → {bemap.Map}

Build LineStyle resource.
Parameters:
Name Type Description
LineStyle bemap.LineStyle
options object
Overrides:
Source:
Returns:
this
Type
bemap.Map

clearAllEffects() → {bemap.Map}

Tear down every registered effect. Invokes each teardown in registration order, swallowing errors per-teardown so one failure doesn't block the rest. Each teardown is expected to call `_unregisterEffect` itself via the matching `remove*`/`stop*` path; the registry is cleared at the end regardless.
Since:
  • 2.0.0
Overrides:
Source:
Returns:
Type
bemap.Map

(abstract) clearLayer(layer) → {bemap.Map}

Remove all objects from a layer.
Parameters:
Name Type Description
layer bemap.Layer the layer object to clear.
Overrides:
Source:
Returns:
this
Type
bemap.Map

clearPopup() → {bemap.Map}

Remove all the popups from the map.
Overrides:
Source:
Returns:
this;
Type
bemap.Map

defaultLayers(options) → {bemap.Map}

Add default layers.
Parameters:
Name Type Description
options object
Properties
Name Type Description
markerAsCluster boolean
Overrides:
Source:
Returns:
this
Type
bemap.Map

defaultOverlayLayers(options) → {bemap.Map}

Add default overlay layers, like dedicated for markers or polyline, etc.
Parameters:
Name Type Description
options object
Properties
Name Type Description
markerAsCluster boolean
Overrides:
Source:
Returns:
this
Type
bemap.Map

(protected) draggableMarker(marker, callback, options) → {bemap.Listener}

Define the draggable capability for bemap.Marker.
Parameters:
Name Type Description
marker bemap.Marker bemap object.
callback function Function will be called when the specified eventType is occur.
options object Options.
Properties
Name Type Description
layerFilter bemap.Layer set the bemap layer used as filter.
Overrides:
Source:
Returns:
bemap.listener.
Type
bemap.Listener

(protected) draggableMarkers(callback, options) → {bemap.Listener}

Define the draggable capability for all bemap.Marker.
Parameters:
Name Type Description
callback function Function will be called when the specified eventType is occur.
options object Options.
Properties
Name Type Description
layerFilter bemap.Layer set the bemap layer used as filter.
Overrides:
Source:
Returns:
bemap.listener.
Type
bemap.Listener

(protected) draggableMultiMarkers(callback, options) → {bemap.Listener}

Define the draggable capability for all bemap.MultiMarkers.
Parameters:
Name Type Description
callback function Function will be called when the specified eventType is occur.
options object Options.
Properties
Name Type Description
layerFilter bemap.Layer set the bemap layer used as filter.
Overrides:
Source:
Returns:
bemap.listener.
Type
bemap.Listener

(protected) draggablePolyline(polyline, callback, options) → {bemap.Listener}

Define the draggable capability for bemap.Polyline.
Parameters:
Name Type Description
polyline bemap.Polyline bemap object.
callback function Function will be called when the specified eventType is occur.
options object Options.
Properties
Name Type Description
layerFilter bemap.Layer set the bemap layer used as filter.
Overrides:
Source:
Returns:
bemap.listener.
Type
bemap.Listener

(protected) draggablePolylines(callback, options) → {bemap.Listener}

Define the draggable capability for all bemap.Polyline.
Parameters:
Name Type Description
callback function Function will be called when the specified eventType is occur.
options object Options.
Properties
Name Type Description
layerFilter bemap.Layer set the bemap layer used as filter.
Overrides:
Source:
Returns:
bemap.listener.
Type
bemap.Listener

drawPolygon(options, callback) → {bemap.Listener}

Draw a polygon interactively. User clicks vertices, double-clicks to finish.
Parameters:
Name Type Description
options Object See below.
Properties
Name Type Description
style bemap.PolygonStyle Style for the preview polygon.
callback function Called with bemap.MapEvent when drawing is complete. evt.bemapObject = bemap.Polygon.
Overrides:
Source:
Returns:
Type
bemap.Listener

easeTo(options) → {bemap.Map}

Smooth animated camera transition. MapLibre only.
Parameters:
Name Type Description
options object center, zoom, pitch, bearing, duration.
Overrides:
Source:
Returns:
this
Type
bemap.Map

flyTo(lon, lat, zoom, options)

Fly map to new coordinate.
Parameters:
Name Type Description
lon double longitude
lat double latitude
zoom double zoom
options Object options
Overrides:
Source:

getActiveEffects() → {Array.<String>}

Names of every currently-active effect. Snapshot — does not auto- update; subscribe via `onEffectChange` for live notification.
Since:
  • 2.0.0
Overrides:
Source:
Returns:
Type
Array.<String>

getBearing() → {number}

Get the current bearing. MapLibre only.
Overrides:
Source:
Returns:
bearing in degrees (0 if not supported).
Type
number

getBoundingBox() → {bemap.BoundingBox}

Get the limits of the map on the current zoom.
Overrides:
Source:
Returns:
the bounding box containing the limits.
Type
bemap.BoundingBox

getCenter() → {bemap.Coordinate}

Get the center of the map in bemap.Coordinate.
Overrides:
Source:
Returns:
the center of the map.
Type
bemap.Coordinate

getLayerByName(name) → {bemap.Layer}

Search the layer by name.
Parameters:
Name Type Description
name String of layer.
Overrides:
Source:
Returns:
Return the layer or null if not found.
Type
bemap.Layer

getPitch() → {number}

Get the current pitch angle. MapLibre only.
Overrides:
Source:
Returns:
pitch in degrees (0 if not supported).
Type
number

getRotation() → {int}

Get current rotation angle of map.
Overrides:
Source:
Returns:
-1 if not supported.
Type
int

getZoom() → {int}

Get current zoom of map.
Overrides:
Source:
Returns:
-1 if not supported.
Type
int

getZoomControl()

Overrides:
Source:

(abstract) isDragPan() → {boolean}

Return the satus of drag pan of map.
Parameters:
Name Type Description
options.dragPan. Object
Overrides:
Source:
Returns:
true to enable the drag pan of map, otherwise false.
Type
boolean

jumpTo(options) → {bemap.Map}

Instant camera change with pitch/bearing support. MapLibre only.
Parameters:
Name Type Description
options object center, zoom, pitch, bearing.
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) move(lon, lat, zoom, options) → {bemap.Map}

Move map to new coordinate.
Parameters:
Name Type Description
lon double Longitude in degres decimal (WGS84).
lat double Latitude in degres decimal (WGS84).
zoom int Zoom level (optional).
options Object Options (optional).
Overrides:
Source:
Returns:
this
Type
bemap.Map

moveToBoundingBox(boundingBox, options) → {bemap.Map}

Set the center and the zoom of the map to fit the bounding box.
Parameters:
Name Type Description
boundingBox bemap.BoundingBox the bounding box to fit.
options Object Options (optional).
Overrides:
Source:
Returns:
this.
Type
bemap.Map

(abstract) moveToLayerData(layer, options) → {bemap.Map}

Move map and zoom on data contains in layers.
Parameters:
Name Type Description
layer bemap.Layer Layer.
options Object Options (optional).
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) on(eventType, callback, options) → {bemap.Listener}

Set the listner when an specified eventType occur on bemap.Map.
Parameters:
Name Type Description
eventType bemap.Map.EventType Event type.
callback function Function will be called when the specified eventType is occur.
options object options.
Overrides:
Source:
Returns:
this.
Type
bemap.Listener

onEffectChange()

Subscribe to active-effect changes. Fires `{name, active}` whenever an effect is registered (`active: true`) or torn down (`active: false`). The dashboard's active-effects bar consumes this.
Since:
  • 2.0.0
Overrides:
Source:

onGetFeatureInfo(layer, options) → {bemap.Listener}

Set get feature info call back.
Parameters:
Name Type Description
layer bemap.Layer set the bemap layer.
options object options.
Properties
Name Type Description
beforeCallback function callback called at data reception and before display the popup.
afterCallback function callback called after display the popup.
Overrides:
Source:
Returns:
listener;
Type
bemap.Listener

(abstract) onMarker(marker, eventType, callback, options) → {bemap.Listener}

Set the listner when an specified eventType occur on bemap.Marker.
Parameters:
Name Type Description
marker bemap.Marker
eventType bemap.Map.EventType Event type.
callback function Function will be called when the specified eventType is occur.
options object options.
Overrides:
Source:
Returns:
this.
Type
bemap.Listener

(abstract) onMarkers(eventType, callback, options) → {bemap.Listener}

Set the listner when an specified eventType occur on all bemap.Marker.
Parameters:
Name Type Description
eventType bemap.Map.EventType Event type.
callback function Function will be called when the specified eventType is occur.
options object options.
Overrides:
Source:
Returns:
this.
Type
bemap.Listener

(abstract) onMultiMarkers(eventType, callback, options) → {bemap.Listener}

Set the listner when an specified eventType occur on all bemap.MultiMarker.
Parameters:
Name Type Description
eventType bemap.Map.EventType Event type.
callback function Function will be called when the specified eventType is occur.
options object options.
Overrides:
Source:
Returns:
this.
Type
bemap.Listener

(abstract) onPolyline(polyline, eventType, callback, options) → {bemap.Listener}

Set the listner when an specified eventType occur on bemap.Polyline.
Parameters:
Name Type Description
polyline bemap.Polyline
eventType bemap.Map.EventType Event type.
callback function Function will be called when the specified eventType is occur.
options object options.
Overrides:
Source:
Returns:
this.
Type
bemap.Listener

(abstract) onPolylines(eventType, callback, options) → {bemap.Listener}

Set the listner when an specified eventType occur on all bemap.Polyline.
Parameters:
Name Type Description
eventType bemap.Map.EventType Event type.
callback function Function will be called when the specified eventType is occur.
options object options.
Overrides:
Source:
Returns:
this.
Type
bemap.Listener

queryRenderedFeatures(point, options) → {Array}

Query rendered features at a point or in a box. MapLibre only.
Parameters:
Name Type Description
point object Screen point or bounding box.
options object Query options (layers, filter).
Overrides:
Source:
Returns:
Array of feature objects.
Type
Array

(abstract) refresh(options) → {bemap.Map}

Refresh map.
Parameters:
Name Type Description
options Object Options (optional).
Overrides:
Source:
Returns:
this
Type
bemap.Map

refreshLayer(layer) → {bemap.Map}

Refresh all objects from a layer.
Parameters:
Name Type Description
layer bemap.Layer the layer object to refresh.
Overrides:
Source:
Returns:
this
Type
bemap.Map

removeCircle(circle) → {bemap.Map}

Remove circle from the map.
Parameters:
Name Type Description
circle bemap.Circle
Overrides:
Source:
Returns:
this
Type
bemap.Map

removeImage(id) → {bemap.Map}

Remove a registered image. MapLibre only.
Parameters:
Name Type Description
id string Image identifier.
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) removeLayer(layer) → {bemap.Map}

Remove a layer from the map.
Parameters:
Name Type Description
layer bemap.Layer layer to remove from the map.
Overrides:
Source:
Returns:
this.
Type
bemap.Map

(abstract) removeMarker(marker) → {bemap.Map}

Remove a marker from the layer
Parameters:
Name Type Description
marker bemap.Marker
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) removeMultimarker(multimarker) → {bemap.Map}

Remove a multimarker from the layer
Parameters:
Name Type Description
multimarker bemap.MultiMarker
Overrides:
Source:
Returns:
this
Type
bemap.Map

removePolygon(polygon) → {bemap.Map}

Remove polygon from the map.
Parameters:
Name Type Description
polygon bemap.Polygon
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) removePolyline(polyline) → {bemap.Map}

Remove a polyline from the layer
Parameters:
Name Type Description
polyline bemap.Polyline
Overrides:
Source:
Returns:
this
Type
bemap.Map

removePopup(popup) → {bemap.Map}

Remove a popup from the map.
Parameters:
Name Type Description
popup bemap.Popup the popup to remove from the map.
Overrides:
Source:
Returns:
this;
Type
bemap.Map

removeTerrain() → {bemap.Map}

Disable 3D terrain. MapLibre only.
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) rotation(angle, options) → {bemap.Map}

Rotation of map, set new angle of map.
Parameters:
Name Type Description
angle int in degrees.
options Object Options (optional).
Overrides:
Source:
Returns:
this
Type
bemap.Map

setBearing(bearing) → {bemap.Map}

Set the bearing (compass rotation) of the map. MapLibre only.
Parameters:
Name Type Description
bearing number Bearing in degrees (0-360).
Overrides:
Source:
Returns:
this
Type
bemap.Map

setCoordinatePopup(popup, coordinate, options) → {bemap.Map}

Set the coordinate of the popup.
Parameters:
Name Type Description
popup bemap.Popup the popup of wich to set the coordinate.
coordinate bemap.Coordinate the new coordinate.
options object Options.
Properties
Name Type Description
panningMap bemap.Layer enable the map panning animation. move map from the current position to the popup anchor at the center of map.
Overrides:
Source:
Returns:
this.
Type
bemap.Map

(abstract) setDragPan(active) → {bemap.Map}

Enable or disable the drag pan of map.
Parameters:
Name Type Description
active boolean true to enable the drag pan of map, otherwise false.
options.dragPan. Object
Overrides:
Source:
Returns:
this
Type
bemap.Map

setLight(options) → {bemap.Map}

Set 3D light position and properties. MapLibre only.
Parameters:
Name Type Description
options object Light options (position, color, intensity, anchor).
Overrides:
Source:
Returns:
this
Type
bemap.Map

setPitch(pitch) → {bemap.Map}

Set the pitch (tilt) angle of the map in degrees. MapLibre only.
Parameters:
Name Type Description
pitch number Pitch angle (0-85).
Overrides:
Source:
Returns:
this
Type
bemap.Map

setProjection(type) → {bemap.Map}

Set map projection ('mercator' or 'globe'). MapLibre only.
Parameters:
Name Type Description
type string projection type.
Overrides:
Source:
Returns:
this
Type
bemap.Map

setSky(options) → {bemap.Map}

Set sky/atmosphere effects. MapLibre only.
Parameters:
Name Type Description
options object sky options.
Overrides:
Source:
Returns:
this
Type
bemap.Map

setStyle(style) → {bemap.Map}

Set the map style URL or object. MapLibre only.
Parameters:
Name Type Description
style string | object Style URL or JSON object.
Overrides:
Source:
Returns:
this
Type
bemap.Map

setTerrain(options) → {bemap.Map}

Enable 3D terrain rendering. MapLibre only.
Parameters:
Name Type Description
options object terrain options (source, exaggeration).
Overrides:
Source:
Returns:
this
Type
bemap.Map

setVisiblePopup(popup, visible) → {bemap.Popup}

Set the visiblility of the popup.
Parameters:
Name Type Description
popup bemap.Popup the popup.
visible Boolean true for visible and false for hidden.
Overrides:
Source:
Returns:
this.
Type
bemap.Popup

setZoomControl(enabled) → {bemap.Map}

Show or hide the engine's native zoom (+/-) buttons at runtime. Uniform across Leaflet, OpenLayers and MapLibre — toggles a class on the map container so the engine-specific selectors all hit at once.
Parameters:
Name Type Description
enabled Boolean
Since:
  • 1.5.0
Overrides:
Source:
Returns:
this
Type
bemap.Map

switchBackgroundLayer(geoserver) → {bemap.Map}

Switch bytween several background layers.
Parameters:
Name Type Description
geoserver String Name of geoserver.
Overrides:
Source:
Returns:
this
Type
bemap.Map

updateGeoJsonSource(id, data) → {bemap.Map}

Update an existing GeoJSON source data. MapLibre only.
Parameters:
Name Type Description
id string Source identifier.
data object New GeoJSON data.
Overrides:
Source:
Returns:
this
Type
bemap.Map

(abstract) visibleLayer(layer) → {bemap.Map}

Set the visibility of the layer.
Parameters:
Name Type Description
layer bemap.Layer the layer of wich to set the visibility.
visible. boolean
Overrides:
Source:
Returns:
return this.
Type
bemap.Map

(abstract) zIndexLayer(layer) → {bemap.Map}

Set the zIndex of the layer.
Parameters:
Name Type Description
layer bemap.Layer the layer of wich to set the zIndex.
zIndex. boolean
Overrides:
Source:
Returns:
return this.
Type
bemap.Map

(abstract) zoom(zoom, options) → {bemap.Map}

Zoom on map, set new zoom level.
Parameters:
Name Type Description
zoom int Zoom level (optional).
options Object Options (optional).
Overrides:
Source:
Returns:
this
Type
bemap.Map