# Class: FlowCoreMap
Core functionality for Flo.w maps. Wrapped by the <flow-map>
web component.
# Hierarchy
EventEmitter
↳ FlowCoreMap
# Constructors
# constructor
+ new FlowCoreMap(id
: string, flowContextId
: string): FlowCoreMap
Constructs a new FlowCoreMap
.
# Parameters:
Name | Type | Description |
---|---|---|
id | string | Map ID. |
flowContextId | string | ID of associated Flo.w context object. |
Returns: FlowCoreMap
# Properties
# context
• context: FlowCoreContext
The associated Flo.w Context object.
# flowContextId
• Readonly
flowContextId: string
ID of associated Flo.w context object.
# id
• Readonly
id: string
Map ID.
# maplibreMap
• maplibreMap: Map
The underlying Maplibre GL JS map instance. Use this property to access the full MaplibreGL JS map API (opens new window).
# Accessors
# mapStyle
• get mapStyle(): any
Get the full expanded MaplibreGL Style Specification (opens new window) for this map.
Returns: any
# Methods
# export
▸ export(options
: FlowMapExportOptions): Promise<string>
Export the current map view as a PNG image.
The image will be downloaded by the browser.
# Parameters:
Name | Type | Description |
---|---|---|
options | FlowMapExportOptions | Export options. |
Returns: Promise<string>
A promise that resolves with the filename when the map has been exported.
# getDataSource
▸ getDataSource(id
: string): FlowCoreDataSource
Returns the specified map data source.
# Parameters:
Name | Type | Description |
---|---|---|
id | string | Data source ID. |
Returns: FlowCoreDataSource
# getPopupOptions
▸ getPopupOptions(id
: string): FlowCoreMapPopupOptions
Returns the specified registered popup options.
# Parameters:
Name | Type | Description |
---|---|---|
id | string | Registered popup options ID. |
Returns: FlowCoreMapPopupOptions
# initialize
▸ initialize(styleUrl
: string, sync
: boolean, options
: FlowCoreMapOptions): Promise<void>
Initialize the map.
This method is called automatically by the flow-map
web component. If instantiating
a FlowCoreMap
directly, the developer is responsible for calling this method.
# Parameters:
Name | Type | Description |
---|---|---|
styleUrl | string | Base map style URL |
sync | boolean | Specify true to synchronize browser address bar with map location and zoom level. |
options | FlowCoreMapOptions | MaplibrexGL instantiation options. |
Returns: Promise<void>
# openPopup
▸ openPopup(lngLat
: maplibregl.LngLatLike, optionsOrPopupName?
: FlowCoreMapPopupOptions | string): FlowCoreMapPopup
Open a map popup at the specified location.
# Parameters:
Name | Type | Description |
---|---|---|
lngLat | maplibregl.LngLatLike | Map location to open popup. |
optionsOrPopupName? | FlowCoreMapPopupOptions | string | Popup options or ID of registered map popup. |
Returns: FlowCoreMapPopup
# registerPopupOptions
▸ registerPopupOptions(popupOptions
: FlowCoreMapPopupOptions[]): void
Register named popup options. Used internally to display automatic popups.
# Parameters:
Name | Type | Description |
---|---|---|
popupOptions | FlowCoreMapPopupOptions[] | Popup options. |
Returns: void
# removeFeatureState
▸ removeFeatureState(feature
: FeatureIdentifier | maplibregl.MapboxGeoJSONFeature, key?
: string): void
Programmatically remove feature state properties from a map feature.
# Parameters:
Name | Type | Description |
---|---|---|
feature | FeatureIdentifier | maplibregl.MapboxGeoJSONFeature | Feature to modify. Specify null to modify all map features. |
key? | string | Feature state key to remove. Specify null to remove all feature state for specified feature(s). |
Returns: void
# setDataSources
▸ setDataSources(dataSources
: FlowCoreDataSource[]): void
Set map data sources.
This method is called internally by the <flow-map>
web component. If modified programmatically,
any modification will be overwritten by <flow-map>
.
# Parameters:
Name | Type | Description |
---|---|---|
dataSources | FlowCoreDataSource[] | Map data sources. |
Returns: void
# setFeatureState
▸ setFeatureState(feature
: FeatureIdentifier | maplibregl.MapboxGeoJSONFeature, state
: FeatureStateProperties): void
Programmatically set feature state properties for a map feature.
# Parameters:
Name | Type | Description |
---|---|---|
feature | FeatureIdentifier | maplibregl.MapboxGeoJSONFeature | Feature to modify. |
state | FeatureStateProperties | Feature state properties to set. |
Returns: void
# setLayers
▸ setLayers(layers
: FlowCoreMapLayer[]): void
Set map layers.
This method is called internally by the <flow-map>
web component. If modified programmatically,
any modification will be overwritten by <flow-map>
.
# Parameters:
Name | Type | Description |
---|---|---|
layers | FlowCoreMapLayer[] | Map layers. |
Returns: void
# uninitialize
▸ uninitialize(): void
Uninitialize the map.
This method is called automatically by the flow-map
web component. If instantiating
a FlowCoreMap
directly, the developer is responsible for calling this method.
Returns: void
# updateBaseStyle
▸ updateBaseStyle(styleUrlOrId
: string): Promise<void>
Update the base map style and redraw the map.
# Parameters:
Name | Type | Description |
---|---|---|
styleUrlOrId | string | Base map style URL or ID |
Returns: Promise<void>
# zoomBy
▸ zoomBy(increment
: number): Promise<void>
Zoom the map by the specified increment.
# Parameters:
Name | Type | Description |
---|---|---|
increment | number | Zoom increment. Specify positive values to zoom in and negative values to zoom out. |
Returns: Promise<void>