---
title: "MapEventType | 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.

# Type Alias MapEventType

`MapEventType` - a mapping between the event name and the event value. These events are used with the [Map.on](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/#on) method. When using a `layerId` with [Map.on](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/#on) method, please refer to [MapLayerEventType](https://docs.maptiler.com/sdk-js/api-reference/types/MapLayerEventType/). The following example can be used for all the events.

#### Example[](#example)

```typescript
// Initialize the map
let map = new Map({ // map options });
// Set an event listener
map.on('the-event-name', () => {
  console.log('An event has occurred!');
});
```

type MapEventType \= {  
    [boxzoomcancel](#boxzoomcancel): [MapLibreZoomEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreZoomEvent/);  
    [boxzoomend](#boxzoomend): [MapLibreZoomEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreZoomEvent/);  
    [boxzoomstart](#boxzoomstart): [MapLibreZoomEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreZoomEvent/);  
    [click](#click): [MapMouseEvent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.MapMouseEvent/);  
    [contextmenu](#contextmenu): [MapMouseEvent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.MapMouseEvent/);  
    [cooperativegestureprevented](#cooperativegestureprevented): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[WheelEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.WheelEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/)\> & {  
        gestureType: "wheel\_zoom" | "touch\_pan";  
    };  
    [data](#data): [MapDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapDataEvent/);  
    [dataabort](#dataabort): [MapDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapDataEvent/);  
    [dataloading](#dataloading): [MapDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapDataEvent/);  
    [dblclick](#dblclick): [MapMouseEvent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.MapMouseEvent/);  
    [drag](#drag): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>;  
    [dragend](#dragend): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>;  
    [dragstart](#dragstart): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>;  
    [error](#error): ErrorEvent;  
    [idle](#idle): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/);  
    [load](#load): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/);  
    [mousedown](#mousedown): [MapMouseEvent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.MapMouseEvent/);  
    [mousemove](#mousemove): [MapMouseEvent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.MapMouseEvent/);  
    [mouseout](#mouseout): [MapMouseEvent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.MapMouseEvent/);  
    [mouseover](#mouseover): [MapMouseEvent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.MapMouseEvent/);  
    [mouseup](#mouseup): [MapMouseEvent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.MapMouseEvent/);  
    [move](#move): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | [WheelEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.WheelEvent/) | undefined\>;  
    [moveend](#moveend): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | [WheelEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.WheelEvent/) | undefined\>;  
    [movestart](#movestart): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | [WheelEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.WheelEvent/) | undefined\>;  
    [pitch](#pitch): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>;  
    [pitchend](#pitchend): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>;  
    [pitchstart](#pitchstart): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>;  
    [projectiontransition](#projectiontransition): [MapProjectionEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapProjectionEvent/);  
    [remove](#remove): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/);  
    [render](#render): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/);  
    [resize](#resize): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/);  
    [rotate](#rotate): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>;  
    [rotateend](#rotateend): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>;  
    [rotatestart](#rotatestart): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>;  
    [sourcedata](#sourcedata): [MapSourceDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapSourceDataEvent/);  
    [sourcedataabort](#sourcedataabort): [MapSourceDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapSourceDataEvent/);  
    [sourcedataloading](#sourcedataloading): [MapSourceDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapSourceDataEvent/);  
    [styledata](#styledata): [MapStyleDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapStyleDataEvent/);  
    [styledataloading](#styledataloading): [MapStyleDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapStyleDataEvent/);  
    [styleimagemissing](#styleimagemissing): [MapStyleImageMissingEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapStyleImageMissingEvent/);  
    [terrain](#terrain): [MapTerrainEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapTerrainEvent/);  
    [tiledataloading](#tiledataloading): [MapDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapDataEvent/);  
    [touchcancel](#touchcancel): [MapTouchEvent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.MapTouchEvent/);  
    [touchend](#touchend): [MapTouchEvent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.MapTouchEvent/);  
    [touchmove](#touchmove): [MapTouchEvent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.MapTouchEvent/);  
    [touchstart](#touchstart): [MapTouchEvent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.MapTouchEvent/);  
    [webglcontextlost](#webglcontextlost): [MapContextEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapContextEvent/);  
    [webglcontextrestored](#webglcontextrestored): [MapContextEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapContextEvent/);  
    [wheel](#wheel): [MapWheelEvent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.MapWheelEvent/);  
    [zoom](#zoom): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | [WheelEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.WheelEvent/) | undefined\>;  
    [zoomend](#zoomend): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | [WheelEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.WheelEvent/) | undefined\>;  
    [zoomstart](#zoomstart): [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | [WheelEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.WheelEvent/) | undefined\>;  
}

##### Index

### Properties[](#properties)

[boxzoomcancel](#boxzoomcancel) [boxzoomend](#boxzoomend) [boxzoomstart](#boxzoomstart) [click](#click) [contextmenu](#contextmenu) [cooperativegestureprevented](#cooperativegestureprevented) [data](#data) [dataabort](#dataabort) [dataloading](#dataloading) [dblclick](#dblclick) [drag](#drag) [dragend](#dragend) [dragstart](#dragstart) [error](#error) [idle](#idle) [load](#load) [mousedown](#mousedown) [mousemove](#mousemove) [mouseout](#mouseout) [mouseover](#mouseover) [mouseup](#mouseup) [move](#move) [moveend](#moveend) [movestart](#movestart) [pitch](#pitch) [pitchend](#pitchend) [pitchstart](#pitchstart) [projectiontransition](#projectiontransition) [remove](#remove) [render](#render) [resize](#resize) [rotate](#rotate) [rotateend](#rotateend) [rotatestart](#rotatestart) [sourcedata](#sourcedata) [sourcedataabort](#sourcedataabort) [sourcedataloading](#sourcedataloading) [styledata](#styledata) [styledataloading](#styledataloading) [styleimagemissing](#styleimagemissing) [terrain](#terrain) [tiledataloading](#tiledataloading) [touchcancel](#touchcancel) [touchend](#touchend) [touchmove](#touchmove) [touchstart](#touchstart) [webglcontextlost](#webglcontextlost) [webglcontextrestored](#webglcontextrestored) [wheel](#wheel) [zoom](#zoom) [zoomend](#zoomend) [zoomstart](#zoomstart)

## Properties[](#properties-1)

### boxzoomcancel[](#boxzoomcancel)

boxzoomcancel: [MapLibreZoomEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreZoomEvent/)

Fired when the user cancels a "box zoom" interaction, or when the bounding box does not meet the minimum size threshold. See [BoxZoomHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.BoxZoomHandler/).

### boxzoomend[](#boxzoomend)

boxzoomend: [MapLibreZoomEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreZoomEvent/)

Fired when a "box zoom" interaction ends. See [BoxZoomHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.BoxZoomHandler/).

### boxzoomstart[](#boxzoomstart)

boxzoomstart: [MapLibreZoomEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreZoomEvent/)

Fired when a "box zoom" interaction starts. See [BoxZoomHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.BoxZoomHandler/).

### click[](#click)

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

Fired when a pointing device (usually a mouse) is pressed and released at the same point on the map.

#### See[](#see)

-   [Measure distances](https://maplibre.org/maplibre-gl-js/docs/examples/measure-distances/)
-   [Center the map on a clicked symbol](https://maplibre.org/maplibre-gl-js/docs/examples/center-the-map-on-a-clicked-symbol/)

### contextmenu[](#contextmenu)

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

Fired when the right button of the mouse is clicked or the context menu key is pressed within the map.

### cooperativegestureprevented[](#cooperativegestureprevented)

cooperativegestureprevented: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[WheelEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.WheelEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/)\> & {  
    gestureType: "wheel\_zoom" | "touch\_pan";  
}

Fired whenever the cooperativeGestures option prevents a gesture from being handled by the map. This is useful for showing your own UI when this happens.

### data[](#data)

data: [MapDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapDataEvent/)

Fired when any map data loads or changes. See [MapDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapDataEvent/) for more information.

#### See[](#see-1)

[Display HTML clusters with custom properties](https://maplibre.org/maplibre-gl-js/docs/examples/display-html-clusters-with-custom-properties/)

### dataabort[](#dataabort)

dataabort: [MapDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapDataEvent/)

Fired when a request for one of the map's sources' tiles or data is aborted.

### dataloading[](#dataloading)

dataloading: [MapDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapDataEvent/)

Fired when any map data (style, source, tile, etc) begins loading or changing asynchronously. All `dataloading` events are followed by a `data`, `dataabort` or `error` event.

### dblclick[](#dblclick)

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

Fired when a pointing device (usually a mouse) is pressed and released twice at the same point on the map in rapid succession.

!!! note Under normal conditions, this event will be preceded by two `click` events.

### drag[](#drag)

drag: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>

Fired repeatedly during a "drag to pan" interaction. See [DragPanHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.DragPanHandler/).

### dragend[](#dragend)

dragend: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>

Fired when a "drag to pan" interaction ends. See [DragPanHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.DragPanHandler/).

#### See[](#see-2)

[Create a draggable marker](https://maplibre.org/maplibre-gl-js/docs/examples/create-a-draggable-marker/)

### dragstart[](#dragstart)

dragstart: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>

Fired when a "drag to pan" interaction starts. See [DragPanHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.DragPanHandler/).

### error[](#error)

error: ErrorEvent

Fired when an error occurs. This is GL JS's primary error reporting mechanism. We use an event instead of `throw` to better accommodate asynchronous operations. If no listeners are bound to the `error` event, the error will be printed to the console.

### idle[](#idle)

idle: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)

Fired after the last frame rendered before the map enters an "idle" state:

-   No camera transitions are in progress
-   All currently requested tiles have loaded
-   All fade/transition animations have completed

### load[](#load)

load: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)

Fired immediately after all necessary resources have been downloaded and the first visually complete rendering of the map has occurred.

#### See[](#see-3)

-   [Draw GeoJSON points](https://maplibre.org/maplibre-gl-js/docs/examples/draw-geojson-points/)
-   [Add live realtime data](https://maplibre.org/maplibre-gl-js/docs/examples/add-live-realtime-data/)
-   [Animate a point](https://maplibre.org/maplibre-gl-js/docs/examples/animate-a-point/)

### mousedown[](#mousedown)

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

Fired when a pointing device (usually a mouse) is pressed within the map.

#### See[](#see-4)

[Create a draggable point](https://maplibre.org/maplibre-gl-js/docs/examples/create-a-draggable-point/)

### mousemove[](#mousemove)

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

Fired when a pointing device (usually a mouse) is moved while the cursor is inside the map. As you move the cursor across the map, the event will fire every time the cursor changes position within the map.

#### See[](#see-5)

-   [Get coordinates of the mouse pointer](https://maplibre.org/maplibre-gl-js/docs/examples/get-coordinates-of-the-mouse-pointer/)
-   [Highlight features under the mouse pointer](https://maplibre.org/maplibre-gl-js/docs/examples/create-a-hover-effect/)
-   [Display a popup on over](https://maplibre.org/maplibre-gl-js/docs/examples/display-a-popup-on-hover/)

### mouseout[](#mouseout)

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

Fired when a point device (usually a mouse) leaves the map's canvas.

### mouseover[](#mouseover)

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

Fired when a pointing device (usually a mouse) is moved within the map. As you move the cursor across a web page containing a map, the event will fire each time it enters the map or any child elements.

#### See[](#see-6)

-   [Get coordinates of the mouse pointer](https://maplibre.org/maplibre-gl-js/docs/examples/get-coordinates-of-the-mouse-pointer/)
-   [Highlight features under the mouse pointer](https://maplibre.org/maplibre-gl-js/docs/examples/create-a-hover-effect/)
-   [Display a popup on hover](https://maplibre.org/maplibre-gl-js/docs/examples/display-a-popup-on-hover/)

### mouseup[](#mouseup)

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

Fired when a pointing device (usually a mouse) is released within the map.

#### See[](#see-7)

[Create a draggable point](https://maplibre.org/maplibre-gl-js/docs/examples/create-a-draggable-point/)

### move[](#move)

move: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | [WheelEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.WheelEvent/) | undefined\>

Fired repeatedly during an animated transition from one view to another, as the result of either user interaction or methods such as [Map.flyTo](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/#flyto).

#### See[](#see-8)

[Display HTML clusters with custom properties](https://maplibre.org/maplibre-gl-js/docs/examples/display-html-clusters-with-custom-properties/)

### moveend[](#moveend)

moveend: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | [WheelEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.WheelEvent/) | undefined\>

Fired just after the map completes a transition from one view to another, as the result of either user interaction or methods such as [Map.jumpTo](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/#jumpto).

#### See[](#see-9)

[Display HTML clusters with custom properties](https://maplibre.org/maplibre-gl-js/docs/examples/display-html-clusters-with-custom-properties/)

### movestart[](#movestart)

movestart: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | [WheelEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.WheelEvent/) | undefined\>

Fired just before the map begins a transition from one view to another, as the result of either user interaction or methods such as [Map.jumpTo](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/#jumpto).

### pitch[](#pitch)

pitch: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>

Fired repeatedly during the map's pitch (tilt) animation between one state and another as the result of either user interaction or methods such as [Map.flyTo](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/#flyto).

### pitchend[](#pitchend)

pitchend: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>

Fired immediately after the map's pitch (tilt) finishes changing as the result of either user interaction or methods such as [Map.flyTo](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/#flyto).

### pitchstart[](#pitchstart)

pitchstart: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>

Fired whenever the map's pitch (tilt) begins a change as the result of either user interaction or methods such as [Map.flyTo](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/#flyto) .

### projectiontransition[](#projectiontransition)

projectiontransition: [MapProjectionEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapProjectionEvent/)

Fired when map's projection is modified in other ways than by map being moved.

### remove[](#remove)

remove: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)

Fired immediately after the map has been removed with [Map.remove](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/#remove).

### render[](#render)

render: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)

Fired whenever the map is drawn to the screen, as the result of

-   a change to the map's position, zoom, pitch, or bearing
-   a change to the map's style
-   a change to a GeoJSON source
-   the loading of a vector tile, GeoJSON file, glyph, or sprite

### resize[](#resize)

resize: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)

Fired immediately after the map has been resized.

### rotate[](#rotate)

rotate: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>

Fired repeatedly during a "drag to rotate" interaction. See [DragRotateHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.DragRotateHandler/).

### rotateend[](#rotateend)

rotateend: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>

Fired when a "drag to rotate" interaction ends. See [DragRotateHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.DragRotateHandler/).

### rotatestart[](#rotatestart)

rotatestart: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | undefined\>

Fired when a "drag to rotate" interaction starts. See [DragRotateHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.DragRotateHandler/).

### sourcedata[](#sourcedata)

sourcedata: [MapSourceDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapSourceDataEvent/)

Fired when one of the map's sources loads or changes, including if a tile belonging to a source loads or changes.

### sourcedataabort[](#sourcedataabort)

sourcedataabort: [MapSourceDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapSourceDataEvent/)

Fired when a request for one of the map's sources' data is aborted.

### sourcedataloading[](#sourcedataloading)

sourcedataloading: [MapSourceDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapSourceDataEvent/)

Fired when one of the map's sources begins loading or changing asynchronously. All `sourcedataloading` events are followed by a `sourcedata`, `sourcedataabort` or `error` event.

### styledata[](#styledata)

styledata: [MapStyleDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapStyleDataEvent/)

Fired when the map's style loads or changes.

### styledataloading[](#styledataloading)

styledataloading: [MapStyleDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapStyleDataEvent/)

Fired when the map's style begins loading or changing asynchronously. All `styledataloading` events are followed by a `styledata` or `error` event.

### styleimagemissing[](#styleimagemissing)

styleimagemissing: [MapStyleImageMissingEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapStyleImageMissingEvent/)

Fired when an icon or pattern needed by the style is missing. The missing image can be added with [Map.addImage](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/#addimage) within this event listener callback to prevent the image from being skipped. This event can be used to dynamically generate icons and patterns.

#### See[](#see-10)

[Generate and add a missing icon to the map](https://maplibre.org/maplibre-gl-js/docs/examples/generate-and-add-a-missing-icon-to-the-map/)

### terrain[](#terrain)

terrain: [MapTerrainEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapTerrainEvent/)

Fired when terrain is changed

### tiledataloading[](#tiledataloading)

tiledataloading: [MapDataEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapDataEvent/)

### touchcancel[](#touchcancel)

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

Fired when a [`touchcancel`](https://developer.mozilla.org/en-US/docs/Web/Events/touchcancel) event occurs within the map.

### touchend[](#touchend)

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

Fired when a [`touchend`](https://developer.mozilla.org/en-US/docs/Web/Events/touchend) event occurs within the map.

#### See[](#see-11)

[Create a draggable point](https://maplibre.org/maplibre-gl-js/docs/examples/create-a-draggable-point/)

### touchmove[](#touchmove)

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

Fired when a [`touchmove`](https://developer.mozilla.org/en-US/docs/Web/Events/touchmove) event occurs within the map.

#### See[](#see-12)

[Create a draggable point](https://maplibre.org/maplibre-gl-js/docs/examples/create-a-draggable-point/)

### touchstart[](#touchstart)

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

Fired when a [`touchstart`](https://developer.mozilla.org/en-US/docs/Web/Events/touchstart) event occurs within the map.

#### See[](#see-13)

[Create a draggable point](https://maplibre.org/maplibre-gl-js/docs/examples/create-a-draggable-point/)

### webglcontextlost[](#webglcontextlost)

webglcontextlost: [MapContextEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapContextEvent/)

Fired when the WebGL context is lost.

### webglcontextrestored[](#webglcontextrestored)

webglcontextrestored: [MapContextEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapContextEvent/)

Fired when the WebGL context is restored.

### wheel[](#wheel)

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

Fired when a [`wheel`](https://developer.mozilla.org/en-US/docs/Web/Events/wheel) event occurs within the map.

### zoom[](#zoom)

zoom: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | [WheelEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.WheelEvent/) | undefined\>

Fired repeatedly during an animated transition from one zoom level to another, as the result of either user interaction or methods such as [Map.flyTo](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/#flyto).

### zoomend[](#zoomend)

zoomend: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | [WheelEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.WheelEvent/) | undefined\>

Fired just after the map completes a transition from one zoom level to another, as the result of either user interaction or methods such as [Map.flyTo](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/#flyto).

### zoomstart[](#zoomstart)

zoomstart: [MapLibreEvent](https://docs.maptiler.com/sdk-js/api-reference/types/MapLibreEvent/)<[MouseEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MouseEvent/) | [TouchEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.TouchEvent/) | [WheelEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.WheelEvent/) | undefined\>

Fired just before the map begins a transition from one zoom level to another, as the result of either user interaction or methods such as [Map.flyTo](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/#flyto).
