WebViewer provides several APIs for working with the zoom level.
Getting the zoom level
To get the current zoom level, you can use the getZoomLevel API. It will return the current zoom level value in decimal. For example, if the returned value is 0.5, it means the current zoom level is 50%.
To get the maximum/minimum zoom level, you can use getMaxZoomLevel or getMinZoomLevel. The returned value is a decimal that represents the zoom level. For example, if the returned value is 2.5, it means a 250% zoom level.
1WebViewer(...)
2 .then(instance => {
3 // max zoom level
4 // returns 99.99, indicates the maximum zoom level is 9999% in the viewer
5 console.log(instance.UI.getMaxZoomLevel());
6 // min zoom level
7 // returns 0.05, indicates the minimum zoom level is 5% in the viewer
To modify the maximum/mininum zoom level, you can achieve by using setMaxZoomLevel and setMinZoomLevel. Similar to the setZoomLevel, both methods take percentage in a string or a number as parameter.
1WebViewer(...)
2 .then(instance => {
3 // set the max zoom level
4 instance.UI.setMaxZoomLevel('150%') // or instance.UI.setMaxZoomLevel(1.5)
5
6 // set the min zoom level
7 instance.UI.setMinZoomLevel('150%') // or instance.UI.setMinZoomLevel(1.5)
A zoom step is the percentage increase/decrease when you click the zoom in/out button in the tool bar, with the mouse wheel scrolling, or keyboard shortcuts.
WebViewer provides APIs that allows user to inspect and customize the zoom step size.
To inspect the configuration of zoom step size, you can use the getZoomStepFactors API.
In this example, the returned zoomStepFactors array indicates each zoom step is 7.5% when the zoom level is between 0% and 80%. Furthermore, each zoom step will be 25% when the zoom level is between 80% and 150%.
To change the zoom step, you can use the setZoomStepFactors API. For example, if you want the zoom step to be more precise as 5% between zoom level 0% to 200%, and 10% as the zoom step after zoom level 200%, simply pass the zoomStepFactors object describing the various zoom behaviors at various levels.
The units of the step and startZoom parameters are percentages, ex. 5 means 5%. The zoomStepFactors array should always contain a zoomStepFactor object with startZoom set to 0. Otherwise, an error will be printed.