@web-map-service/map2d
Version:
基于openlayer的2D地图服务
32 lines (31 loc) • 1.23 kB
TypeScript
import { Layer as OlLayer } from 'ol/layer';
import { Emitter } from '../events/emitter';
import { createElement, ElementData } from './elements';
import { ElementPluginsMap, Element, ElementType } from './elements/element';
import { CircleData, PointData, ElementExtend } from './elements/types';
export { type Element, type ElementType, type CircleData, type PointData, type ElementData };
export interface Layer {
id: number;
type?: string;
name?: string;
create<T extends keyof ElementPluginsMap>(options: Omit<ElementPluginsMap[T]['options'], keyof ElementExtend> & {
type: T;
}, useAdd?: boolean): ReturnType<typeof createElement<T>>;
add(element: Element): void;
remove(element: Element): void;
clean(): void;
destroy(): void;
getElementById(elementId: number): Element | undefined;
getOlLayer(): OlLayer;
getElements(): Element[];
[key: string]: unknown;
}
export interface LayerOptions {
type?: string;
name?: string;
}
/**
* 图层负责元素创建、添加、移除、清空
* 同时也能通过图层id来获取图层、getLayers获取当前全部图层
*/
export declare function createLayer(emitter: Emitter, options?: LayerOptions): Layer;