Skip to main content

alphaThis is a new frontend component. Help us improve it and give your feedback on Slack.

Map Styles Plugin

Map style switching plugin that adds a UI control for changing the basemap appearance and the map size.

Usage

import createMapStylesPlugin from '@defra/interactive-map/plugins/map-styles'
const mapStylesPlugin = createMapStylesPlugin({
mapStyles: [
{
id: 'default',
label: 'Default',
url: '/styles/default.json',
thumbnail: '/images/default-thumb.png'
},
{
id: 'satellite',
label: 'Satellite',
url: '/styles/satellite.json',
thumbnail: '/images/satellite-thumb.png'
}
]
})
const interactiveMap = new InteractiveMap({
plugins: [mapStylesPlugin]
})

Options

Options are passed to the factory function when creating the plugin.


mapStyles

Type: MapStyleConfig[] Required

Array of map style configurations. Each style appears as an option in the style switcher UI.

See MapStyleConfig for full details.

createMapStylesPlugin({
mapStyles: [
{
id: 'default',
label: 'Default',
url: '/styles/default.json',
appColorScheme: 'light',
mapColorScheme: 'light',
backgroundColor: '#f5f5f5',
thumbnail: '/images/default-thumb.png'
}
]
})

includeModes

Type: string[]

Array of mode identifiers. When set, the plugin only renders when the app is in one of these modes.


excludeModes

Type: string[]

Array of mode identifiers. When set, the plugin does not render when the app is in one of these modes.


Methods

This plugin does not expose any public methods.

Events

This plugin does not emit any custom events. Style changes are handled internally and update the map automatically.