Skip to content

Both copy text to your clipboard — Build with AI copies a setup prompt to paste into Claude Code, Cursor, Codex or Copilot; Copy page as Markdown copies this page to paste into a chat. How it works

ImageSource ​

Defined in: src/source/image_source.ts:93

A data source containing an image. (See the Style Specification for detailed documentation of options.)

Example ​

ts
// add to map
map.addSource('some id', {
   type: 'image',
   url: 'https://www.mapmetrics.org/images/foo.png',
   coordinates: [
       [-76.54, 39.18],
       [-76.52, 39.18],
       [-76.52, 39.17],
       [-76.54, 39.17]
   ]
});

// update coordinates
let mySource = map.getSource('some id');
mySource.setCoordinates([
    [-76.54335737228394, 39.18579907229748],
    [-76.52803659439087, 39.1838364847587],
    [-76.5295386314392, 39.17683392507606],
    [-76.54520273208618, 39.17876344106642]
]);

// update url and coordinates simultaneously
mySource.updateImage({
   url: 'https://www.mapmetrics.org/images/bar.png',
   coordinates: [
       [-76.54335737228394, 39.18579907229748],
       [-76.52803659439087, 39.1838364847587],
       [-76.5295386314392, 39.17683392507606],
       [-76.54520273208618, 39.17876344106642]
   ]
})

map.removeSource('some id');  // remove

Extends ​

Extended by ​

Implements ​

Methods ​

hasTransition() ​

hasTransition(): boolean

Defined in: src/source/image_source.ts:299

True if the source has transition, false otherwise.

Returns ​

boolean

Implementation of ​

Source.hasTransition


listens() ​

listens(type: string): boolean

Defined in: src/util/evented.ts:165

Returns a true if this instance of Evented or any forwardeed instances of Evented have a listener for the specified type.

Parameters ​

ParameterTypeDescription
typestringThe event type

Returns ​

boolean

true if there is at least one registered listener for specified event type, false otherwise

Inherited from ​

Evented.listens


loaded() ​

loaded(): boolean

Defined in: src/source/image_source.ts:164

True if the source is loaded, false otherwise.

Returns ​

boolean

Implementation of ​

Source.loaded


loadTile() ​

loadTile(tile: Tile): Promise<void>

Defined in: src/source/image_source.ts:276

This method does the heavy lifting of loading a tile. In most cases it will defer the work to the relevant worker source.

Parameters ​

ParameterTypeDescription
tileTileThe tile to load

Returns ​

Promise<void>

Implementation of ​

Source.loadTile


off() ​

off(type: string, listener: Listener): ImageSource

Defined in: src/util/evented.ts:90

Removes a previously registered event listener.

Parameters ​

ParameterTypeDescription
typestringThe event type to remove listeners for.
listenerListenerThe listener function to remove.

Returns ​

ImageSource

Inherited from ​

Evented.off


on() ​

on(type: string, listener: Listener): Subscription

Defined in: src/util/evented.ts:73

Adds a listener to a specified event type.

Parameters ​

ParameterTypeDescription
typestringThe event type to add a listen for.
listenerListenerThe 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

Inherited from ​

Evented.on


onAdd() ​

onAdd(map: Map): void

Defined in: src/source/image_source.ts:196

This method is called when the source is added to the map.

Parameters ​

ParameterTypeDescription
mapMapThe map instance

Returns ​

void

Implementation of ​

Source.onAdd


once() ​

once(type: string, listener?: Listener): Promise<any> | ImageSource

Defined in: src/util/evented.ts:106

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 ​

ParameterTypeDescription
typestringThe event type to listen for.
listener?ListenerThe function to be called when the event is fired the first time.

Returns ​

Promise<any> | ImageSource

this or a promise if a listener is not provided

Inherited from ​

Evented.once


onRemove() ​

onRemove(): void

Defined in: src/source/image_source.ts:201

This method is called when the source is removed from the map.

Returns ​

void

Implementation of ​

Source.onRemove


prepare() ​

prepare(): void

Defined in: src/source/image_source.ts:248

Allows to execute a prepare step before the source is used.

Returns ​

void

Implementation of ​

Source.prepare


serialize() ​

serialize(): VideoSourceSpecification | ImageSourceSpecification | CanvasSourceSpecification

Defined in: src/source/image_source.ts:291

Returns ​

VideoSourceSpecification | ImageSourceSpecification | CanvasSourceSpecification

A plain (stringifiable) JS object representing the current state of the source. Creating a source using the returned object as the options should result in a Source that is equivalent to this one.

Implementation of ​

Source.serialize


setCoordinates() ​

setCoordinates(coordinates: Coordinates): this

Defined in: src/source/image_source.ts:216

Sets the image's coordinates and re-renders the map.

Parameters ​

ParameterTypeDescription
coordinatesCoordinatesFour geographical coordinates, represented as arrays of longitude and latitude numbers, which define the corners of the image. The coordinates start at the top left corner of the image and proceed in clockwise order. They do not have to represent a rectangle.

Returns ​

this


setEventedParent() ​

setEventedParent(parent?: Evented, data?: any): ImageSource

Defined in: src/util/evented.ts:176

Bubble all events fired by this instance of Evented to this parent instance of Evented.

Parameters ​

ParameterType
parent?Evented
data?any

Returns ​

ImageSource

Inherited from ​

Evented.setEventedParent


updateImage() ​

updateImage(options: UpdateImageOptions): this

Defined in: src/source/image_source.ts:174

Updates the image URL and, optionally, the coordinates. To avoid having the image flash after changing, set the raster-fade-duration paint property on the raster layer to 0.

Parameters ​

ParameterTypeDescription
optionsUpdateImageOptionsThe options object.

Returns ​

this

Properties ​

id ​

id: string

Defined in: src/source/image_source.ts:95

The id for the source. Must not be used by any existing source.

Implementation of ​

Source.id


maxzoom ​

maxzoom: number

Defined in: src/source/image_source.ts:97

The maximum zoom level for the source.

Implementation of ​

Source.maxzoom


minzoom ​

minzoom: number

Defined in: src/source/image_source.ts:96

The minimum zoom level for the source.

Implementation of ​

Source.minzoom


terrainTileRanges ​

terrainTileRanges: object

Defined in: src/source/image_source.ts:104

This object is used to store the range of terrain tiles that overlap with this tile. It is relevant for image tiles, as the image exceeds single tile boundaries.

Index Signature ​

[zoom: string]: CanonicalTileRange


tileSize ​

tileSize: number

Defined in: src/source/image_source.ts:98

The tile size for the source.

Implementation of ​

Source.tileSize