UNPKG

leaflet-vector-offline

Version:

Plugin for Leaflet.js that supports offline vector map tiles.

53 lines (52 loc) 1.59 kB
import { PMTiles } from "pmtiles"; import { LatLngBoundsExpression, TileLayerOptions } from "leaflet"; import * as protomapsLeaflet from "protomaps-leaflet"; export interface Status { status: string; value?: unknown; reason: Error; } export interface StatusFulfilled { status: "fulfilled"; value: unknown; } export interface StatusRejected { status: "rejected"; reason: Error; } export interface TileResponseFulfilled { status: "fulfilled"; value: protomapsLeaflet.PreparedTile; key: string; } export interface TileResponseRejected { status: "rejected"; reason: Error; key: string; } export type TileResponse = TileResponseFulfilled | TileResponseRejected; export type DoneCallback = (error?: Error, tile?: HTMLElement) => void; export type KeyedHtmlCanvasElement = HTMLCanvasElement & { key: string; }; export type ThemeName = "light" | "dark" | "white" | "grayscale" | "black"; export type TileSourcePriority = "online" | "offline" | "both"; export interface VectorLayerOptions extends TileLayerOptions { attribution?: string; backgroundColor?: string; bounds?: LatLngBoundsExpression; debug?: string; labelRules?: protomapsLeaflet.LabelRule[]; lang?: string; language?: string[]; maxDataZoom?: number; noWrap?: boolean; paintRules?: protomapsLeaflet.PaintRule[]; priority?: TileSourcePriority; sources?: Record<string, protomapsLeaflet.SourceOptions>; tasks?: Promise<Status>[]; theme?: ThemeName; tileDelay?: number; url?: PMTiles | string; verbose?: boolean; }