Interface Source

The Source interface must be implemented by each source type, including "core" types (vector, raster, video, etc.) and all custom, third-party types.

Event data - Fired with {dataType: 'source', sourceDataType: 'metadata'} to indicate that any necessary metadata has been loaded so that it's okay to call loadTile; and with {dataType: 'source', sourceDataType: 'content'} to indicate that the source data has changed, so that any current caches should be flushed.

interface Source {
    attribution?: string;
    id: string;
    isTileClipped?: boolean;
    maxzoom: number;
    minzoom: number;
    reparseOverscaled?: boolean;
    roundZoom?: boolean;
    tileSize: number;
    abortTile?(tile): Promise<void>;
    fire(event): unknown;
    hasTile?(tileID): boolean;
    hasTransition(): boolean;
    loadTile(tile): Promise<void>;
    loaded(): boolean;
    onAdd?(map): void;
    onRemove?(map): void;
    prepare?(): void;
    serialize(): any;
    unloadTile?(tile): Promise<void>;
}

Implemented by

Properties

attribution?: string

The attribution for the source.

id: string

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

isTileClipped?: boolean

false if tiles can be drawn outside their boundaries, true if they cannot.

maxzoom: number

The maximum zoom level for the source.

minzoom: number

The minimum zoom level for the source.

reparseOverscaled?: boolean

true if tiles should be sent back to the worker for each overzoomed zoom level, false if not.

roundZoom?: boolean

true if zoom levels are rounded to the nearest integer in the source data, false if they are floor-ed to the nearest integer.

tileSize: number

The tile size for the source.

Methods

  • Allows to abort a tile loading.

    Parameters

    • tile: Tile

      The tile to abort

    Returns Promise<void>

  • An ability to fire an event to all the listeners, see Evented

    Parameters

    • event: Event

      The event to fire

    Returns unknown

  • True is the tile is part of the source, false otherwise.

    Parameters

    Returns boolean

  • True if the source has transition, false otherwise.

    Returns boolean

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

    Parameters

    • tile: Tile

      The tile to load

    Returns Promise<void>

  • True if the source is loaded, false otherwise.

    Returns boolean

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

    Parameters

    • map: Map

      The map instance

    Returns void

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

    Parameters

    • map: Map

      The map instance

    Returns void

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

    Returns void

  • Returns any

    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.

  • Allows to unload a tile.

    Parameters

    • tile: Tile

      The tile to unload

    Returns Promise<void>