---
title: "ImageManager | 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 ImageManager

Methods mixed in to other classes for event capabilities.

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

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

##### Index

### Constructors[](#constructors)

[constructor](#constructor)

### Properties[](#properties)

[atlasImage](#atlasimage) [atlasTexture](#atlastexture) [callbackDispatchedThisFrame](#callbackdispatchedthisframe) [dirty](#dirty) [images](#images) [loaded](#loaded) [patterns](#patterns) [requestors](#requestors) [updatedImages](#updatedimages)

### Methods[](#methods)

[addImage](#addimage) [beginFrame](#beginframe) [bind](#bind) [cloneImages](#cloneimages) [destroy](#destroy) [dispatchRenderCallbacks](#dispatchrendercallbacks) [fire](#fire) [getImage](#getimage) [getImages](#getimages) [getPattern](#getpattern) [getPixelSize](#getpixelsize) [isLoaded](#isloaded) [listens](#listens) [listImages](#listimages) [off](#off) [on](#on) [once](#once) [removeImage](#removeimage) [setEventedParent](#seteventedparent) [setLoaded](#setloaded) [updateImage](#updateimage)

## Constructors[](#constructors-1)

### constructor[](#constructor)

-   new ImageManager(): ImageManager[](#constructorimagemanager)
    
    #### Returns ImageManager
    
    Overrides [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/).[constructor](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/#constructor)
    

## Properties[](#properties-1)

### atlasImage[](#atlasimage)

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

### atlasTexture[](#atlastexture)

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

### callbackDispatchedThisFrame[](#callbackdispatchedthisframe)

callbackDispatchedThisFrame: { \[\_: string\]: boolean }

### dirty[](#dirty)

dirty: boolean

### images[](#images)

images: { \[\_: string\]: [StyleImage](https://docs.maptiler.com/sdk-js/api-reference/types/StyleImage/) }

### loaded[](#loaded)

loaded: boolean

### patterns[](#patterns)

patterns: { \[\_: string\]: [Pattern](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.Pattern/) }

### requestors[](#requestors)

requestors: {  
    ids: string\[\];  
    promiseResolve: (value: [GetImagesResponse](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.GetImagesResponse/)) \=> void;  
}\[\]

This is used to track requests for images that are not yet available. When the image is loaded, the requestors will be notified.

### updatedImages[](#updatedimages)

updatedImages: { \[\_: string\]: boolean }

## Methods[](#methods-1)

### addImage[](#addimage)

-   addImage(id: string, image: [StyleImage](https://docs.maptiler.com/sdk-js/api-reference/types/StyleImage/)): void[](#addimage-1)
    
    #### Parameters
    
    -   id: string
    -   image: [StyleImage](https://docs.maptiler.com/sdk-js/api-reference/types/StyleImage/)
    
    #### Returns void
    

### beginFrame[](#beginframe)

-   beginFrame(): void[](#beginframe-1)
    
    #### Returns void
    

### bind[](#bind)

-   bind(context: [Context](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Context/)): void[](#bind-1)
    
    #### Parameters
    
    -   context: [Context](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Context/)
    
    #### Returns void
    

### cloneImages[](#cloneimages)

-   cloneImages(): [Record](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.Record/)<string, [StyleImage](https://docs.maptiler.com/sdk-js/api-reference/types/StyleImage/)\>[](#cloneimages-1)
    
    #### Returns [Record](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.Record/)<string, [StyleImage](https://docs.maptiler.com/sdk-js/api-reference/types/StyleImage/)\>
    

### destroy[](#destroy)

-   destroy(): void[](#destroy-1)
    
    #### Returns void
    

### dispatchRenderCallbacks[](#dispatchrendercallbacks)

-   dispatchRenderCallbacks(ids: string\[\]): void[](#dispatchrendercallbacks-1)
    
    #### Parameters
    
    -   ids: string\[\]
    
    #### Returns void
    

### fire[](#fire)

-   fire(event: string | [Event](https://docs.maptiler.com/sdk-js/api-reference/classes/Event/), properties?: any): this[](#fire-1)
    
    #### Parameters
    
    -   event: string | [Event](https://docs.maptiler.com/sdk-js/api-reference/classes/Event/)
    -   `Optional`properties: any
    
    #### Returns this
    
    Inherited from [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/).[fire](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/#fire)
    

### getImage[](#getimage)

-   getImage(id: string): [StyleImage](https://docs.maptiler.com/sdk-js/api-reference/types/StyleImage/)[](#getimage-1)
    
    #### Parameters
    
    -   id: string
    
    #### Returns [StyleImage](https://docs.maptiler.com/sdk-js/api-reference/types/StyleImage/)
    

### getImages[](#getimages)

-   getImages(ids: string\[\]): Promise<[GetImagesResponse](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.GetImagesResponse/)\>[](#getimages-1)
    
    #### Parameters
    
    -   ids: string\[\]
    
    #### Returns Promise<[GetImagesResponse](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.GetImagesResponse/)\>
    

### getPattern[](#getpattern)

-   getPattern(id: string): [ImagePosition](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.ImagePosition/)[](#getpattern-1)
    
    #### Parameters
    
    -   id: string
    
    #### Returns [ImagePosition](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.ImagePosition/)
    

### getPixelSize[](#getpixelsize)

-   getPixelSize(): { height: number; width: number }[](#getpixelsize-1)
    
    #### Returns { height: number; width: number }
    

### isLoaded[](#isloaded)

-   isLoaded(): boolean[](#isloaded-1)
    
    #### Returns boolean
    

### listens[](#listens)

-   listens(type: string): boolean[](#listens-1)
    
    Returns a true if this instance of Evented or any forwardeed instances of Evented have a listener for the specified type.
    
    #### Parameters
    
    -   type: string
        
        The event type
        
    
    #### Returns boolean
    
    `true` if there is at least one registered listener for specified event type, `false` otherwise
    
    Inherited from [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/).[listens](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/#listens)
    

### listImages[](#listimages)

-   listImages(): string\[\][](#listimages-1)
    
    #### Returns string\[\]
    

### off[](#off)

-   off(type: string, listener: [Listener](https://docs.maptiler.com/sdk-js/api-reference/types/Listener/)): this[](#off-1)
    
    Removes a previously registered event listener.
    
    #### Parameters
    
    -   type: string
        
        The event type to remove listeners for.
        
    -   listener: [Listener](https://docs.maptiler.com/sdk-js/api-reference/types/Listener/)
        
        The listener function to remove.
        
    
    #### Returns this
    
    Inherited from [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/).[off](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/#off)
    

### on[](#on)

-   on(type: string, listener: [Listener](https://docs.maptiler.com/sdk-js/api-reference/types/Listener/)): [Subscription](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Subscription/)[](#on-1)
    
    Adds a listener to a specified event type.
    
    #### Parameters
    
    -   type: string
        
        The event type to add a listen for.
        
    -   listener: [Listener](https://docs.maptiler.com/sdk-js/api-reference/types/Listener/)
        
        The function to be called when the event is fired. The listener function is called with the data object passed to `fire`, extended with `target` and `type` properties.
        
    
    #### Returns [Subscription](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Subscription/)
    
    Inherited from [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/).[on](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/#on)
    

### once[](#once)

-   once(type: string, listener?: [Listener](https://docs.maptiler.com/sdk-js/api-reference/types/Listener/)): ImageManager | Promise<any\>[](#once-1)
    
    Adds a listener that will be called only once to a specified event type.
    
    The listener will be called first time the event fires after the listener is registered.
    
    #### Parameters
    
    -   type: string
        
        The event type to listen for.
        
    -   `Optional`listener: [Listener](https://docs.maptiler.com/sdk-js/api-reference/types/Listener/)
        
        The function to be called when the event is fired the first time.
        
    
    #### Returns ImageManager | Promise<any\>
    
    `this` or a promise if a listener is not provided
    
    Inherited from [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/).[once](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/#once)
    

### removeImage[](#removeimage)

-   removeImage(id: string): void[](#removeimage-1)
    
    #### Parameters
    
    -   id: string
    
    #### Returns void
    

### setEventedParent[](#seteventedparent)

-   setEventedParent(parent?: [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/) | null, data?: any): this[](#seteventedparent-1)
    
    Bubble all events fired by this instance of Evented to this parent instance of Evented.
    
    #### Parameters
    
    -   `Optional`parent: [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/) | null
    -   `Optional`data: any
    
    #### Returns this
    
    Inherited from [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/).[setEventedParent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/#seteventedparent)
    

### setLoaded[](#setloaded)

-   setLoaded(loaded: boolean): void[](#setloaded-1)
    
    #### Parameters
    
    -   loaded: boolean
    
    #### Returns void
    

### updateImage[](#updateimage)

-   updateImage(id: string, image: [StyleImage](https://docs.maptiler.com/sdk-js/api-reference/types/StyleImage/), validate?: boolean): void[](#updateimage-1)
    
    #### Parameters
    
    -   id: string
    -   image: [StyleImage](https://docs.maptiler.com/sdk-js/api-reference/types/StyleImage/)
    -   `Optional`validate: boolean
    
    #### Returns void
