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.


Legal Notice (Impressum)