/** 地址选择结果接口 */ export interface LocationResult { /** 经度 */ longitude: number /** 纬度 */ latitude: number /** 地址描述 */ address: string } /** 手机状态接口 */ export interface PhoneLocationStatus { status: string msg: string data: { location: string } } /** 初始化参数接口 */ export interface InitParams { /** 地图中心点坐标 [经度, 纬度] */ center?: [number, number] /** 地图缩放级别 */ zoom?: number /** 最大缩放级别 */ maxZoom?: number /** 最小缩放级别 */ minZoom?: number /** 是否开启地址选择模式 */ enableLocationPicker?: boolean /** 是否为预览模式(预览时不显示定位按钮) */ isPreview?: boolean } /** 点位数据接口 */ export interface PointData { /** 经度 */ longitude: number /** 纬度 */ latitude: number /** 点标题 */ title?: string /** 自定义数据 */ extData?: Record } /** 点位数据提供者函数类型 */ export type PointDataProvider = () => PointData[] | Promise /** 点位图层配置接口 */ export interface PointLayerConfig { /** 图层ID */ id: number /** 图层名称 */ value: string /** 是否显示 */ show: boolean /** 是否在控制面板显示 */ showInControl?: boolean /** 图标URL */ icon: string /** 图标锚点 */ iconAnchor?: [number, number] /** 图标缩放比例 */ scale?: number /** 点击事件处理函数 */ onClick?: (point: PointData, event: any) => void /** 点位数据提供者 */ dataProvider?: () => PointData[] | Promise } /** WebGL渲染配置接口 */ export interface WebGLPointOptions extends PointLayerConfig { /** 图标大小 */ iconSize?: [number, number] /** 是否开启聚合 */ enableCluster?: boolean /** 聚合距离,单位像素 */ clusterDistance?: number /** 聚合样式配置 */ clusterStyle?: { /** 填充颜色 */ fillColor?: string /** 边框颜色 */ strokeColor?: string /** 文字颜色 */ textColor?: string } /** 渲染性能配置 */ performance?: { /** 是否开启分块加载 */ enableChunk?: boolean /** 每块数据量 */ chunkSize?: number /** 是否开启节流 */ enableThrottle?: boolean /** 节流时间间隔(ms) */ throttleWait?: number } } /** WMS 图层配置接口 */ export interface WMSLayerConfig { /** 图层名称 */ layerName: string /** 图层显示名称 */ value: string /** 是否显示 */ show: boolean /** 手机端是否显示 */ phoneShow: boolean /** 图层 ID */ id: number } /** WMS 服务配置接口 */ export interface WMSConfig { /** 工作空间 */ workspace: string /** 坐标系 */ srs: string /** 图片格式 */ format: string /** WMS 版本 */ version: string /** WMS 服务地址 */ url: string } /** WMS 完整配置接口 */ export interface WMSOptions { /** WMS 图层列表 */ layers: WMSLayerConfig[] /** WMS 服务配置 */ wms: WMSConfig } /** * 轨迹数据类型 */ export interface TrackData { id: number name: string trackData: [number, number][] // 经纬度数组 color: string show?: boolean // 是否显示 } /** * 轨迹点数据接口 */ export interface TrackPoint { /** 经度 */ x: number /** 纬度 */ y: number /** 角度 */ ag?: string /** 时间戳 */ tm?: number /** 速度 */ sp?: string } /** * 分段轨迹数据项 */ export interface TrackGroupItem { key: string path: TrackPoint[] color?: string show?: boolean } /** * 多边形数据接口 */ export interface PolygonData { /** 多边形ID */ id: number /** 多边形名称 */ name: string /** 多边形坐标点数组 [经度, 纬度][] */ coordinates: [number, number][] /** 填充颜色 */ fillColor?: string /** 边框颜色 */ strokeColor?: string /** 边框宽度 */ strokeWidth?: number /** 透明度 */ opacity?: number /** 是否显示 */ show?: boolean /** 自定义数据 */ extData?: Record } /** * 多边形图层配置接口 */ export interface PolygonLayerConfig { /** 图层ID */ id: number /** 图层名称 */ value: string /** 是否显示 */ show: boolean /** 是否在控制面板显示 */ showInControl?: boolean /** 点击事件处理函数 */ onClick?: (polygon: PolygonData, event: any) => void /** 多边形数据提供者 */ dataProvider?: () => PolygonData[] | Promise }