Skip to content

ImageSource

Defined in: source/image_source.ts:177

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

Example

// add to map
map.addSource('some id', {
   type: 'image',
   url: 'https://www.maplibre.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.maplibre.org/images/bar.png',
   coordinates: [
       [-76.54335737228394, 39.18579907229748],
       [-76.52803659439087, 39.1838364847587],
       [-76.5295386314392, 39.17683392507606],
       [-76.54520273208618, 39.17876344106642]
   ]
})

// update with an already-decoded image (no network request)
const bitmap = await createImageBitmap(myCanvas);
mySource.updateImage({image: bitmap});

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

Extends

Extended by

Implements

Methods

fire()

Call Signature

fire(event: ErrorEvent | MapSourceDataEvent): this

Defined in: util/evented.ts:156

Calls every listener registered for the event's type.

Parameters
Parameter Type
event ErrorEvent | MapSourceDataEvent
Returns

this

Implementation of

Source.fire

Inherited from

Evented.fire

Call Signature

fire(type: keyof SourceEventType, properties?: object): this

Defined in: util/evented.ts:162

Compatibility with the (type: string, properties: Object) signature from previous versions. See https://github.com/mapbox/mapbox-gl-js/issues/6522, https://github.com/mapbox/mapbox-gl-draw/issues/766

Parameters
Parameter Type
type keyof SourceEventType
properties? object
Returns

this

Implementation of

Source.fire

Inherited from

Evented.fire


getWarp()

getWarp(): ImageSourceWarp

Defined in: source/image_source.ts:387

Experimental

Returns how the image is warped onto its coordinates.

Returns

ImageSourceWarp

The warp in use, see ImageSourceWarp.


hasTransition()

hasTransition(): boolean

Defined in: source/image_source.ts:491

True if the source has transition, false otherwise.

Returns

boolean

Implementation of

Source.hasTransition


listens()

listens(type: keyof SourceEventType): boolean

Defined in: util/evented.ts:206

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

Parameters

Parameter Type Description
type keyof SourceEventType The 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: source/image_source.ts:259

True if the source is loaded, false otherwise.

Returns

boolean

Implementation of

Source.loaded


loadTile()

loadTile(tile: Tile): Promise<void>

Defined in: source/image_source.ts:468

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

Parameters

Parameter Type Description
tile Tile The tile to load

Returns

Promise<void>

Implementation of

Source.loadTile


off()

off<T>(type: T, listener: (event: SourceEventType[T]) => void): this

Defined in: util/evented.ts:117

Removes a previously registered event listener.

Type Parameters

Type Parameter
T extends keyof SourceEventType

Parameters

Parameter Type Description
type T The event type to remove listeners for.
listener (event: SourceEventType[T]) => void The listener function to remove.

Returns

this

Inherited from

Evented.off


on()

on<T>(type: T, listener: (event: SourceEventType[T]) => void): Subscription

Defined in: util/evented.ts:100

Adds a listener to a specified event type.

Type Parameters

Type Parameter
T extends keyof SourceEventType

Parameters

Parameter Type Description
type T The event type to add a listen for.
listener (event: SourceEventType[T]) => void 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

Inherited from

Evented.on


onAdd()

onAdd(map: Map): void

Defined in: source/image_source.ts:338

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

Parameters

Parameter Type Description
map Map The map instance

Returns

void

Implementation of

Source.onAdd


once()

Call Signature

once<T>(type: T): Promise<SourceEventType[T]>

Defined in: util/evented.ts:132

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.

Type Parameters
Type Parameter
T extends keyof SourceEventType
Parameters
Parameter Type Description
type T The event type to listen for.
Returns

Promise<SourceEventType[T]>

a promise that resolves with the event

Inherited from

Evented.once

Call Signature

once<T>(type: T, listener: (event: SourceEventType[T]) => void): this

Defined in: util/evented.ts:142

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.

Type Parameters
Type Parameter
T extends keyof SourceEventType
Parameters
Parameter Type Description
type T The event type to listen for.
listener (event: SourceEventType[T]) => void The function to be called when the event is fired the first time.
Returns

this

this when a listener is provided

Inherited from

Evented.once


onRemove()

onRemove(): void

Defined in: source/image_source.ts:343

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

Returns

void

Implementation of

Source.onRemove


prepare()

prepare(): void

Defined in: source/image_source.ts:436

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

Returns

void

Implementation of

Source.prepare


serialize()

serialize(): VideoSourceSpecification | ImageSourceSpecification | CanvasSourceSpecification

Defined in: source/image_source.ts:483

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: source/image_source.ts:399

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

Parameters

Parameter Type Description
coordinates Coordinates Four 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<EventTypeMap>, data?: EventedParentData | (() => EventedParentData)): this

Defined in: util/evented.ts:217

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

Parameters

Parameter Type
parent? Evented<EventTypeMap>
data? EventedParentData | (() => EventedParentData)

Returns

this

Inherited from

Evented.setEventedParent


setWarp()

setWarp(warp: ImageSourceWarp): this

Defined in: source/image_source.ts:370

Experimental

Sets how the image is warped onto its coordinates and re-renders the map.

This only has an effect while the coordinates do not form a rectangle, and it is not part of the style specification, so it does not survive map.setStyle.

Parameters

Parameter Type Description
warp ImageSourceWarp The warp to use, see ImageSourceWarp.

Returns

this

Example

// Keep the image pinned to its corners while the user drags them around.
map.getSource('some id').setWarp('flat');

updateImage()

updateImage(options: UpdateImageOptions): this

Defined in: source/image_source.ts:273

Updates the image 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.

Provide exactly one of url (to fetch a new image over the network) or image (an already-decoded HTMLImageElement, HTMLCanvasElement, ImageBitmap or ImageData to display directly, without a network request).

Parameters

Parameter Type Description
options UpdateImageOptions The options object.

Returns

this

Properties

id

id: string

Defined in: source/image_source.ts:179

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

Implementation of

Source.id


maxzoom

maxzoom: number

Defined in: source/image_source.ts:181

The maximum zoom level for the source.

Implementation of

Source.maxzoom


minzoom

minzoom: number

Defined in: source/image_source.ts:180

The minimum zoom level for the source.

Implementation of

Source.minzoom


terrainTileRanges

terrainTileRanges: object

Defined in: source/image_source.ts:188

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: source/image_source.ts:182

The tile size for the source.

Implementation of

Source.tileSize