UNPKG

s2maps-gpu

Version:

S2 Maps GPU - An open source, high-performance, and GPU-accelerated map engine for rendering large-scale, interactive maps.

69 lines (68 loc) 1.9 kB
import type Session from './session.js'; import type { Face, LayerDefinition } from 'style/style.spec.js'; import type { SourceFlushMessage, TileRequest } from '../worker.spec.js'; import type { VectorPointGeometry, VectorPolygonGeometry } from 'gis-tools/index.js'; /** Local Tile Properties */ export interface LocalTileProperties { id: string; face: number; zoom: number; i: number; j: number; } /** Boundary describing the tile shape */ export interface FeatureBoundary { extent: number; properties: LocalTileProperties; geometry: VectorPolygonGeometry; } /** Point describing the tile */ export interface GetFeatureName { extent: number; properties: LocalTileProperties; geometry: VectorPointGeometry; } /** Local Tile */ export interface LocalTile { face: Face; zoom: number; i: number; j: number; extent: number; layers: { boundary: { extent: 1; length: 1; features: FeatureBoundary[]; }; name: { extent: 1; length: 1; features: GetFeatureName[]; }; }; } /** Local Source */ export default class LocalSource { #private; name: string; isTimeFormat: boolean; styleLayers: LayerDefinition[]; session: Session; textEncoder: TextEncoder; /** * @param name - the name of the source * @param session - the session * @param layers - the layers */ constructor(name: string, session: Session, layers: LayerDefinition[]); /** a no-op for local sources; nothing to build */ build(): void; /** * Get a tile * @param mapID - the map requesting the tile * @param tile - the tile request * @param flushMessage - the flush message to send a report to */ tileRequest(mapID: string, tile: TileRequest, flushMessage: SourceFlushMessage): void; }