UNPKG

@tuoyuan/map-adapter-lib

Version:

地图适配器库

153 lines (152 loc) 3.66 kB
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 { [key: string]: 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 {};