@tuoyuan/map-adapter-lib
Version:
地图适配器库
153 lines (152 loc) • 3.66 kB
TypeScript
import { EventBus, Position, Icon, OpenInfoWindow, CloseInfoWindow, Label, LabelPlacement } from '.';
import { ProxyMap, Path, ILineStyle, ILabelStyle } from '../types';
/** Polyline样式 */
export interface IPolylineStyle {
/** 轮廓线 */
line?: ILineStyle;
/** 文本标签 */
label: ILabelStyle;
}
/** Polyline配置 */
export interface IPolyline<T = any> {
/** ID */
id: number;
/** 名称 */
name?: string;
/** 路径 */
path: Path;
/** 样式 */
style?: IPolylineStyle;
/** 文本标签 */
label?: {
/** 文本内容 */
text: string;
/** 最小展示层级,地图小于此层级时默认隐藏label */
minShowZoom?: number;
/** 是否显示 */
visible?: boolean;
};
/** 业务数据 */
data?: T;
/** 是否可见 */
visible?: boolean;
}
export interface IPolylineOptions {
labelBasePlacement?: LabelPlacement;
}
export type PolylineEventName = 'click' | 'dblclick' | 'rightclick';
/** 基础Polyline类 */
export declare abstract class BasePolyline<T = any> extends EventBus<PolylineEventName> {
protected _top: ProxyMap;
/** ID */
protected _id: number;
/** 名称 */
protected _name?: string;
/** 路径 */
protected _path: Position[];
/** 样式 */
protected _style: IPolylineStyle;
/** 图标 */
protected _icon?: Icon;
/** 文本标签 */
protected _label?: Label;
/** 业务数据 */
protected _data?: T;
/** 是否可见 */
protected _visible: boolean;
/** label基础方位 */
protected _labelBasePlacement: LabelPlacement;
constructor(_top: ProxyMap, polyline: IPolyline<T>, options: IPolylineOptions);
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: IPolylineStyle): void;
/**
* 设置业务数据
* @param data 业务数据
*/
setData(data: T): void;
/**
* 显示
*/
show(): void;
/**
* 隐藏
*/
hidden(): void;
/**
* 显示label
*/
showLabel(): void;
/**
* 隐藏label
*/
hiddenLabel(): void;
/**
* 获取折线的总长度(米)
*/
getLength(): number;
/**
* 判断坐标是否在折线内
* @param point 点位坐标
*/
contains(point: Position): boolean;
/**
* 获取当前折线的矩形范围对象
*/
getBounds(): import('./Bounds').IBounds;
/**
* 查找距离质心最近的点
*/
findClosestPointToCentroid(points: Position[]): Position | null;
}
interface PolylineInstance {
[]: any;
remove(): void;
}
/** 抽象Polyline类 */
export declare abstract class AbstractPolyline<T = any> extends BasePolyline<T> {
/**
* 获取所有资源实例
*/
abstract getInstances(): PolylineInstance[];
/**
* 删除线段
*/
abstract remove(): void;
/**
* 地图中心点平移至线段
*/
abstract panTo?(): void;
/**
* 打开信息窗口
*/
abstract openInfoWindow?: OpenInfoWindow;
/**
* 关闭信息窗口
*/
abstract closeInfoWindow?: CloseInfoWindow;
}
export {};