# 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>