import { EventedObject } from "../base/evented-object"; import { ILinkedList } from "../base/interface"; import { Geometry } from "../geometry/geometry"; import { Symbol } from "../symbol/symbol"; import { Text } from "../text/text"; import { Field } from "./field"; export declare class Feature extends EventedObject implements ILinkedList { /** * 空间图形 */ private _geometry; /** * 属性信息 */ private _properties; /** * 是否显示 */ private _visible; /** * 空间图形 */ get geometry(): Geometry; /** * 属性信息 */ get properties(): Object; /** * 是否显示 */ get visible(): boolean; /** * 是否显示 */ set visible(value: boolean); /** * 文本标注 * @remarks * 用于某个要素特定标注设置 */ text: Text; /** * 前一要素 * @remarks * 用于FeatureClass要素链表 */ prev: Feature; /** * 后一要素 * @remarks * 用于FeatureClass要素链表 */ next: Feature; /** * 构造函数 * @param {Geometry} geometry - 空间图形 * @param {Object} properties - 属性信息 */ constructor(geometry: Geometry, properties?: Object); /** * 绘制点 * @param {CanvasRenderingContext2D} ctx - 绘图上下文 * @param {Symbol} symbol - 渲染符号 */ draw(ctx: CanvasRenderingContext2D, symbol: Symbol): void; /** * 标注要素 * @remarks 调用空间坐标信息进行标注绘制 * @param {CanvasRenderingContext2D} ctx - 绘图上下文 * @param {Field} field - 标注字段 * @param {Text} text - 标注符号 */ label(ctx: CanvasRenderingContext2D, field: Field, text?: Text): void; }