@polar/plugin-zoom
v1.3.0
Published
Zoom plugin for POLAR that adds zoom functionality via UI and store.
Downloads
77
Readme
Zoom
Scope
The Zoom plugin offers functionality regarding map zooming.
Configuration
The Zoom plugin offers a plus/minus button, and will adjust itself to the map's zoom settings on initialization.
It can be configured as followed.
| fieldName | type | description |
| - | - | - |
| renderType | 'iconMenu' | 'independent'? | Whether the zoom related buttons are being rendered independently or as part of the IconMenu. Defaults to 'independent'
. |
| showMobile | boolean? | Whether the zoom related buttons should be displayed on smaller devices; defaults to false
. |
| showZoomSlider | boolean? | Whether a zoom slider should be displayed under the zoom buttons. Won't be rendered on smaller devices; defaults to false
.|
For details on the displayComponent
attribute, refer to the Global Plugin Parameters section of @polar/core
.
Example configuration:
zoom: {
renderType: 'independent',
showMobile: false,
showZoomSlider: true,
}
Store
State
The map's zoom level can be listened to.
| fieldName | type | description | | - | - | - | | maximumZoomLevel | number | Maximum OpenLayers zoom level. | | minimumZoomLevel | number | Minimum OpenLayers zoom level. | | zoomLevel | number | Current OpenLayers zoom level. |
map.subscribe('plugin/zoom/zoomLevel', (zoomLevel) => {
/* This code is called on any zoomLevel update. */
})
Getters
| fieldName | type | description | | - | - | - | | maximumZoomLevelActive | boolean | Whether the current zoomLevel is the maximum. | | minimumZoomLevelActive | boolean | Whether the current zoomLevel is the minimum. |
mapInstance.$store.watch(
(_, getters) => getters['plugin/zoom/maximumZoomLevelActive'],
(maximumZoomLevelActive) => {
/* This code is called on value updates. */
}
)
Actions
The zoomLevel can be set programmatically.
map.$store.dispatch('plugin/zoom/setZoomLevel', zoomLevelNumber)
map.$store.dispatch('plugin/zoom/increaseZoomLevel')
map.$store.dispatch('plugin/zoom/decreaseZoomLevel')
Zooming to invalid zoom level numbers (that is, above maximum or below minimum) will be ignored. A user should not be offered interactionable buttons that result in no operation.