@tuoyuan/map-adapter-lib
Version:
地图适配器库
156 lines (155 loc) • 3.73 kB
TypeScript
import { EventBus, Position, Icon, Label, OpenInfoWindow, CloseInfoWindow, IBounds, LabelPlacement } from '.';
import { ProxyMap, Path, ILineStyle, IFillStyle, ILabelStyle } from '../types';
/** Polygon样式 */
export interface IPolygonStyle {
/** 轮廓线 */
line?: ILineStyle;
/** 填充 */
fill?: IFillStyle;
/** 文本标签 */
label: ILabelStyle;
}
/** Polygon配置 */
export interface IPolygon<T = any> {
/** ID */
id: number;
/** 名称 */
name?: string;
/** 路径 */
path: Path;
/** 孔 */
holes?: Path[];
/** 样式 */
style?: IPolygonStyle;
/** 文本标签 */
label?: {
/** 文本内容 */
text: string;
/** 最小展示层级,地图小于此层级时默认隐藏label */
minShowZoom?: number;
/** 是否显示 */
visible?: boolean;
};
/** 业务数据 */
data?: T;
/** 是否可见 */
visible?: boolean;
}
export interface IPolygonOptions {
labelBasePlacement?: LabelPlacement;
}
export type PolygonEventName = 'click' | 'dblclick' | 'rightclick';
/** 基础Polygon类 */
export declare abstract class BasePolygon<T = any> extends EventBus<PolygonEventName> {
protected _top: ProxyMap;
/** ID */
protected _id: number;
/** 名称 */
protected _name?: string;
/** 路径 */
protected _path: Position[];
/** 样式 */
protected _style: IPolygonStyle;
/** 图标 */
protected _icon?: Icon;
/** 文本标签 */
protected _label?: Label;
/** 业务数据 */
protected _data?: T;
/** 是否可见 */
protected _visible: boolean;
/** label基础方位 */
protected _labelBasePlacement: LabelPlacement;
constructor(_top: ProxyMap, polygon: IPolygon<T>, options: IPolygonOptions);
private genLabel;
/** ID */
get id(): number;
/** 名称 */
get name(): string | undefined;
/** 位置 */
get path(): Position[];
/** 图标 */
get icon(): Icon | undefined;
/** 业务数据 */
get data(): T | undefined;
/**
* 设置名称
* @param name 名称
*/
setName(name: string): void;
/**
* 设置路径
* @param path 路径
*/
setPath(path: Path): void;
/**
* 设置样式
* @param style 样式
*/
setStyle(style: IPolygonStyle): void;
/**
* 设置业务数据
* @param data 业务数据
*/
setData(data: T): void;
/**
* 显示,icon、label
*/
show(): void;
/**
* 隐藏,icon、label
*/
hidden(): void;
/**
* 显示label
*/
showLabel(): void;
/**
* 隐藏label
*/
hiddenLabel(): void;
/**
* 判断坐标是否在多边形内
*/
contains(point: Position): boolean;
}
interface PolygonInstance {
[]: any;
remove(): void;
}
/** 抽象Polygon类 */
export declare abstract class AbstractPolygon<T = any> extends BasePolygon<T> {
/**
* 获取所有资源实例
*/
abstract getInstances(): PolygonInstance[];
/**
* 删除多边形
*/
abstract remove(): void;
/**
* 地图中心点平移至多边形
*/
abstract panTo?(): void;
/**
* 设置多边形样式
*/
abstract setStyle(option: IPolygonStyle): void;
/**
* 获取当前多边形的矩形范围对象
*/
abstract getBounds?(): IBounds;
/**
* 获取多边形的面积(平方米)
*/
abstract getArea?(): number;
/**
* 打开信息窗口
*/
abstract openInfoWindow?: OpenInfoWindow;
/**
* 关闭信息窗口
*/
abstract closeInfoWindow?: CloseInfoWindow;
}
export {};