Interface MaplibreMap

Minimal subset of maplibre-gl.Map required by the runtime. Mirrors the duck-typed interface pattern used in src/interactions/feature-state.ts. Any object implementing these methods — including a MapLibre-GL Map instance — works.

interface MaplibreMap {
    addLayer?(layer: unknown, beforeId?: string): void;
    addSource?(id: string, source: unknown): void;
    easeTo?(options: Record<string, unknown>): void;
    fitBounds?(bounds: [number, number, number, number] | [[number, number], [number, number]], options?: Record<string, unknown>): void;
    flyTo?(options: Record<string, unknown>): void;
    getFeatureState(target: {
        id: string | number;
        source: string;
        sourceLayer?: string;
    }): Record<string, unknown>;
    getLayer?(id: string): unknown;
    getSource?(id: string): unknown;
    getStyle?(): unknown;
    jumpTo?(options: {
        bearing?: number;
        center?: [number, number];
        pitch?: number;
        zoom?: number;
    }): void;
    moveLayer?(id: string, beforeId?: string): void;
    off(event: string, layerOrHandler: string | ((...args: unknown[]) => void), handler?: ((...args: unknown[]) => void)): void;
    on(event: string, layerOrHandler: string | ((...args: unknown[]) => void), handler?: ((...args: unknown[]) => void)): void;
    queryRenderedFeatures?(geometry?: unknown, options?: unknown): readonly unknown[];
    removeFeatureState(target: {
        id: string | number;
        source: string;
        sourceLayer?: string;
    }, key?: string): void;
    removeLayer?(id: string): void;
    removeSource?(id: string): void;
    setFeatureState(target: {
        id: string | number;
        source: string;
        sourceLayer?: string;
    }, state: Record<string, unknown>): void;
    setFilter?(layerId: string, filter: unknown): void;
    setLayoutProperty?(layerId: string, name: string, value: unknown): void;
    setPaintProperty?(layerId: string, name: string, value: unknown): void;
    setStyle(style: unknown, options?: {
        diff?: boolean;
    }): unknown;
    unproject?(point: unknown): readonly [number, number] | {
        lat: number;
        lng: number;
    };
}

Hierarchy (view full)

Methods

  • Parameters

    • options: {
          bearing?: number;
          center?: [number, number];
          pitch?: number;
          zoom?: number;
      }
      • Optionalbearing?: number
      • Optionalcenter?: [number, number]
      • Optionalpitch?: number
      • Optionalzoom?: number

    Returns void