vue-maplibre-gl
Version:
Vue 3 plugin for maplibre-gl
31 lines (30 loc) • 1.41 kB
TypeScript
import { DrawPlugin } from './plugin.ts';
import { DrawFeatureProperties, DrawModel } from './types.ts';
import { Feature, FeatureCollection, MultiPoint, Polygon, Position } from 'geojson';
import { GeoJSONSource, Map, MapLayerMouseEvent, MapLayerTouchEvent } from 'maplibre-gl';
export declare abstract class AbstractDrawMode {
isTouchEventSupported: boolean;
plugin: DrawPlugin;
map: Map;
source: GeoJSONSource;
collection: FeatureCollection<Polygon | MultiPoint, DrawFeatureProperties> | undefined;
protected constructor(plugin: DrawPlugin, map: Map, source: GeoJSONSource);
hasPolygon(): boolean;
getPolygon(): Feature<Polygon, DrawFeatureProperties>;
clonePolygon(): Position[];
isNearby(a: Position, b: {
x: number;
y: number;
}, isTouch: boolean): boolean;
getMidpoint(a: Position, b: Position): Position;
clear(): void;
render(): void;
emitOnUpdate(feature?: Feature<Polygon, DrawFeatureProperties>): void;
createCircle(center: Position, radius: number, steps?: number): Feature<Polygon, DrawFeatureProperties>;
getAreaSize(model: Feature<Polygon, DrawFeatureProperties>): number;
isTouchEvent(e: MapLayerMouseEvent | MapLayerTouchEvent): boolean;
abstract register(): void;
abstract unregister(): void;
abstract setModel(model: DrawModel | undefined): void;
abstract onOptionsUpdate(): void;
}