---
title: "BoxZoomHandler | JavaScript maps SDK"
description: "Documentation for MapTiler SDK"
---

> For AI agents: a documentation index is available at [/llms.txt](https://docs.maptiler.com/llms.txt). Markdown versions of all pages are available by appending .md to any URL.

# Class BoxZoomHandler

The `BoxZoomHandler` allows the user to zoom the map to fit within a bounding box. The bounding box is defined by clicking and holding `shift` while dragging the cursor.

#### Hierarchy ([View Summary](https://docs.maptiler.com/sdk-js/api-reference/hierarchy/#Externals.BoxZoomHandler))

-   BoxZoomHandler
    -   [BoxZoomHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/BoxZoomHandler/)

#### Implements

-   [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/)

##### Index

### Constructors[](#constructors)

[constructor](#constructor)

### Methods[](#methods)

[disable](#disable) [enable](#enable) [isActive](#isactive) [isEnabled](#isenabled) [keydown](#keydown) [mousedown](#mousedown) [mousemoveWindow](#mousemovewindow) [mouseupWindow](#mouseupwindow) [reset](#reset)

## Constructors[](#constructors-1)

### constructor[](#constructor)

-   new BoxZoomHandler(  
        map: [MapLibreMap](https://docs.maptiler.com/sdk-js/api-reference/classes/MapLibreMap/),  
        options: {  
            boxZoom?: boolean | [BoxZoomHandlerOptions](https://docs.maptiler.com/sdk-js/api-reference/types/BoxZoomHandlerOptions/);  
            clickTolerance: number;  
        },  
    ): BoxZoomHandler[](#constructorboxzoomhandler)
    
    #### Parameters
    
    -   map: [MapLibreMap](https://docs.maptiler.com/sdk-js/api-reference/classes/MapLibreMap/)
    -   options: { boxZoom?: boolean | [BoxZoomHandlerOptions](https://docs.maptiler.com/sdk-js/api-reference/types/BoxZoomHandlerOptions/); clickTolerance: number }
    
    #### Returns BoxZoomHandler
    
    #### Internal[](#internal)
    

## Methods[](#methods-1)

### disable[](#disable)

-   disable(): void[](#disable-1)
    
    Disables the "box zoom" interaction.
    
    #### Returns void
    
    #### Example[](#example)
    
    ```typescript
    map.boxZoom.disable();
    ```
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[disable](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#disable)
    

### enable[](#enable)

-   enable(): void[](#enable-1)
    
    Enables the "box zoom" interaction.
    
    #### Returns void
    
    #### Example[](#example-1)
    
    ```typescript
    map.boxZoom.enable();
    ```
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[enable](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#enable)
    

### isActive[](#isactive)

-   isActive(): boolean[](#isactive-1)
    
    Returns a Boolean indicating whether the "box zoom" interaction is active, i.e. currently being used.
    
    #### Returns boolean
    
    `true` if the "box zoom" interaction is active.
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[isActive](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#isactive)
    

### isEnabled[](#isenabled)

-   isEnabled(): boolean[](#isenabled-1)
    
    Returns a Boolean indicating whether the "box zoom" interaction is enabled.
    
    #### Returns boolean
    
    `true` if the "box zoom" interaction is enabled.
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[isEnabled](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#isenabled)
    

### keydown[](#keydown)

-   keydown(e: [KeyboardEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.KeyboardEvent/)): void[](#keydown-1)
    
    #### Parameters
    
    -   e: [KeyboardEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.KeyboardEvent/)
    
    #### Returns void
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[keydown](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#keydown)
    

### mousedown[](#mousedown)

-   mousedown(e: [MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/), point: [Point](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Point/)): void[](#mousedown-1)
    
    #### Parameters
    
    -   e: [MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/)
    -   point: [Point](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Point/)
    
    #### Returns void
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[mousedown](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#mousedown)
    

### mousemoveWindow[](#mousemovewindow)

-   mousemoveWindow(e: [MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/), point: [Point](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Point/)): void[](#mousemovewindow-1)
    
    #### Parameters
    
    -   e: [MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/)
    -   point: [Point](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Point/)
    
    #### Returns void
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[mousemoveWindow](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#mousemovewindow)
    

### mouseupWindow[](#mouseupwindow)

-   mouseupWindow(  
        e: [MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/),  
        point: [Point](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Point/),  
    ): { cameraAnimation: (map: any) \=> any }[](#mouseupwindow-1)
    
    #### Parameters
    
    -   e: [MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/)
    -   point: [Point](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Point/)
    
    #### Returns { cameraAnimation: (map: any) \=> any }
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[mouseupWindow](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#mouseupwindow)
    

### reset[](#reset)

-   reset(): void[](#reset-1)
    
    `reset` can be called by the manager at any time and must reset everything to it's original state
    
    #### Returns void
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[reset](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#reset)
