import { ScreenBounds } from "../common/screen-bounds"; import { ScreenXY } from "../common/screen-xy"; import { CRS } from "../crs/crs"; import { Feature } from "../feature/feature"; import { FeatureClass } from "../feature/feature-class"; import { Label } from "../label/label"; import { Renderer } from "../renderer/renderer"; import { Layer } from "./layer"; /** * 矢量图层类 */ export declare class FeatureLayer extends Layer { /** * 矢量要素类(数据源) */ private _featureClass; /** * 图层渲染方式 */ private _renderer; /** * 图层标注设置 */ private _label; /** * 图层显示坐标系 */ private _crs; /** * 是否显示标注 */ labeled: boolean; /** * 获取矢量要素类(数据源) */ get featureClass(): FeatureClass; /** * 设置矢量要素类(数据源) */ set featureClass(value: FeatureClass); /** * 获取图层标注 */ get label(): Label; /** * 设置图层标注 */ set label(value: Label); /** * 获取图层渲染方式 */ get renderer(): Renderer; /** * 设置图层渲染方式 */ set renderer(value: Renderer); /** * 设置图层显示坐标系 */ set crs(value: CRS); /** * 数据变换 * @param {ScreenXY} origin - 窗口坐标原点 * @param {number} zoom - 当前缩放级别 */ transform(origin: ScreenXY, zoom: number): void; /** * 绘制图层 * @remarks * 遍历图形集合进行绘制 * @param {CanvasRenderingContext2D} ctx - 绘图上下文 * @param {number} zoom - 当前缩放级别 * @param {ScreenBounds} redrawBounds - 当前可视范围 */ draw(ctx: CanvasRenderingContext2D, zoom: number, redrawBounds?: ScreenBounds): void; /** * 根据当前屏幕坐标位置查询图层 * @param {ScreenXY} screenXY - 当前屏幕坐标位置 * @param {number} zoom - 当前缩放级别 * @param {ScreenBounds} redrawBounds - 当前可视范围 */ query(screenXY: ScreenXY, zoom: number, bounds: ScreenBounds): Feature[]; on(types: any, fn?: any, context?: any): this; addFeature(feature: Feature): void; removeFeature(feature: Feature): void; clearFeatures(): void; }