1201 lines
39 KiB
TypeScript
1201 lines
39 KiB
TypeScript
/**
|
||
* 轻量级类型安全事件发射器
|
||
*
|
||
* <p>SDK 内部事件系统基类,提供 on/off/once/emit/removeAllListeners/listenerCount。
|
||
*/
|
||
declare class EventEmitter<Events extends Record<string, any>> {
|
||
private events;
|
||
constructor();
|
||
/** 注册事件监听器 */
|
||
on<K extends keyof Events>(event: K, listener: (payload: Events[K]) => void): void;
|
||
/** 移除指定事件的指定监听器 */
|
||
off<K extends keyof Events>(event: K, listener: (payload: Events[K]) => void): void;
|
||
/** 注册一次性监听器,触发后自动移除 */
|
||
once<K extends keyof Events>(event: K, listener: (payload: Events[K]) => void): void;
|
||
/** 触发事件,通知所有已注册的监听器 */
|
||
emit<K extends keyof Events>(event: K, data: Events[K]): void;
|
||
/** 移除指定事件的全部监听器;不传参则移除所有事件的所有监听器 */
|
||
removeAllListeners<K extends keyof Events>(event?: K): void;
|
||
/** 返回指定事件的监听器数量 */
|
||
listenerCount<K extends keyof Events>(event: K): number;
|
||
}
|
||
|
||
/** 统一位置描述符 */
|
||
type SgsMapNode = {
|
||
type: 'coord';
|
||
floorId: string | number;
|
||
x: number;
|
||
z: number;
|
||
y?: number;
|
||
} | {
|
||
type: 'poiId';
|
||
value: string | number;
|
||
floorId?: string | number;
|
||
} | {
|
||
type: 'nodeName';
|
||
value: string;
|
||
floorId?: string | number;
|
||
};
|
||
/** 单点吸附详情 */
|
||
interface SnapDetail {
|
||
original: {
|
||
x: number;
|
||
z: number;
|
||
};
|
||
nearest: {
|
||
x: number;
|
||
z: number;
|
||
};
|
||
distance: number;
|
||
}
|
||
/** 寻路结果 */
|
||
type SgsRouteTransferType = 'ELEVATOR' | 'STAIRS' | 'ESCALATOR';
|
||
type SgsRouteSegmentType = 'WALK' | 'TRANSFER';
|
||
interface RouteResult {
|
||
success: boolean;
|
||
distance: number;
|
||
duration: number;
|
||
pathPoints: Array<{
|
||
x: number;
|
||
y: number;
|
||
z: number;
|
||
}>;
|
||
startSnap?: SnapDetail;
|
||
endSnap?: SnapDetail;
|
||
computeTimeMs?: number;
|
||
polyCount?: number;
|
||
warnings: string[];
|
||
errorCode?: string;
|
||
message?: string;
|
||
segments?: SgsRouteSegment[];
|
||
}
|
||
/** 寻路选项 */
|
||
interface RouteOptions {
|
||
mode?: 'walk' | 'accessible';
|
||
wheelchair?: boolean;
|
||
/** v2.4.1: 跨楼层时优先选择电梯 */
|
||
preferElevator?: boolean;
|
||
}
|
||
/** SDK 2.4.1: 路线起点/终点定义 */
|
||
interface SdkRoutePoint {
|
||
/** POI ID(POI模式) */
|
||
poiId?: string | number;
|
||
/** 楼层 ID(坐标模式) */
|
||
floorId?: string | number;
|
||
/** X坐标(GLB米,坐标模式) */
|
||
x?: number;
|
||
/** Y坐标(GLB米,坐标模式) */
|
||
y?: number;
|
||
/** Z坐标(GLB米,可选) */
|
||
z?: number;
|
||
}
|
||
/** SDK 初始化配置 */
|
||
interface SGSMapSDKOptions {
|
||
container: string | HTMLElement;
|
||
sdkUrl?: string;
|
||
targetOrigin?: string;
|
||
/** 初始楼层 ID(支持雪花 ID 字符串或数字) */
|
||
floorId?: string | number;
|
||
/** mapId,默认 "1" */
|
||
mapId?: string | number;
|
||
/** 通用命令超时(毫秒),默认 5000 */
|
||
timeout?: number;
|
||
/** ready 超时(毫秒),默认 15000。超过此时间 ENGINE_READY 仍未到达则 reject */
|
||
readyTimeout?: number;
|
||
}
|
||
/** SDK 事件映射 */
|
||
interface SGSMapEvents {
|
||
ready: {
|
||
engineVersion: string;
|
||
protocolVersion: number;
|
||
};
|
||
poiClick: {
|
||
id: string | number;
|
||
name: string;
|
||
type: string;
|
||
floorId?: string | number;
|
||
description?: string;
|
||
};
|
||
poiDetail: SgsPoi & Record<string, unknown>;
|
||
poiNavigate: SgsPoi & Record<string, unknown>;
|
||
poiClose: Record<string, unknown>;
|
||
spaceClick: SgsSpaceArea & Record<string, unknown>;
|
||
spaceDetail: SgsSpaceArea & Record<string, unknown>;
|
||
spaceNavigate: SgsSpaceArea & Record<string, unknown>;
|
||
spaceClose: Record<string, unknown>;
|
||
floorChanged: {
|
||
floorId: string | number;
|
||
};
|
||
error: {
|
||
code: string;
|
||
message: string;
|
||
};
|
||
loadError: {
|
||
type: string;
|
||
detail: string;
|
||
};
|
||
routeTransfer: {
|
||
currentFloorId: string | number;
|
||
targetFloorId: string | number;
|
||
fromFloorId: string | number;
|
||
fromNodeName: string;
|
||
toNodeName: string;
|
||
transferType: SgsRouteTransferType;
|
||
connectorName?: string;
|
||
segmentIndex: number;
|
||
totalSegments: number;
|
||
routeId?: string;
|
||
};
|
||
/** 模型开始加载 */
|
||
modelLoading: {
|
||
floorId: string | number;
|
||
modelUrl: string;
|
||
};
|
||
/** 模型解析完成 */
|
||
modelReady: {
|
||
floorId: string | number;
|
||
parseTimeMs: number;
|
||
};
|
||
/** 模型加载失败(含是否使用了 fallback) */
|
||
modelError: {
|
||
floorId: string | number;
|
||
error: string;
|
||
fallbackUsed: boolean;
|
||
};
|
||
/** 楼层 Bundle 数据加载完成 */
|
||
floorBundleReady: {
|
||
floorId: string | number;
|
||
dataVersion: string;
|
||
};
|
||
/** 路径规划完成 */
|
||
routeReady: {
|
||
routeId: string;
|
||
distance: number;
|
||
duration: number;
|
||
segmentCount?: number;
|
||
hasTransfer?: boolean;
|
||
};
|
||
/** 路径漫游进度,progress 范围 0-1 */
|
||
roamingProgress: {
|
||
progress: number;
|
||
};
|
||
/** 路径漫游结束 */
|
||
roamingDone: {
|
||
success: boolean;
|
||
};
|
||
}
|
||
/** SDK 错误码 */
|
||
type SGSErrorCode = 'ERR_TIMEOUT' | 'ERR_NO_PATH' | 'ERR_FLOOR_NOT_FOUND' | 'ERR_NOT_READY' | 'ERR_POI_NOT_FOUND' | 'ERR_NETWORK' | 'ERR_IFRAME_DEAD' | 'ERR_UNAUTHORIZED' | 'ERR_UNSUPPORTED' | 'ERR_FAILED' | 'ERR_DESTROYED' | 'ERR_IFRAME_LOAD' | 'ERR_READY_TIMEOUT';
|
||
/** 图钉配置参数 */
|
||
interface MarkerConfig {
|
||
id: string;
|
||
name?: string;
|
||
iconUrl?: string;
|
||
anchorNodeName?: string;
|
||
position?: [number, number, number] | {
|
||
x: number;
|
||
y: number;
|
||
z: number;
|
||
};
|
||
}
|
||
/** 地图发布清单 — 对应 GET /app-api/gis/sdk/maps/{mapId}/manifest */
|
||
interface SgsMapManifest {
|
||
/** 地图 ID(数据库主键,number) */
|
||
mapId: number;
|
||
/** 地图业务标识码 */
|
||
mapCode: string;
|
||
/** 发布 ID,全局唯一 */
|
||
releaseId: string;
|
||
/** 语义化版本号 */
|
||
version: string;
|
||
/** 发布时间 ISO8601 */
|
||
releasedAt: string;
|
||
/** 建筑名称 */
|
||
buildingName: string;
|
||
/** 坐标系标识,固定 "GLB_METER" */
|
||
coordinateSystem: string;
|
||
/** 建筑外观模型资源 */
|
||
exterior: SgsModelResource;
|
||
/** 楼层资源列表(按 sortOrder 升序) */
|
||
floors: SgsFloorResource[];
|
||
/** 楼层总数 */
|
||
totalFloors: number;
|
||
/** 所有资源总大小(字节) */
|
||
totalSizeBytes: number;
|
||
}
|
||
/** 模型资源描述 — 对应 GET /app-api/gis/sdk/maps/{mapId}/resources 中的单个资源 */
|
||
interface SgsModelResource {
|
||
/** 楼层代码(如 "L1"/"EXTERIOR") */
|
||
floorCode: string;
|
||
/** 楼层名称 */
|
||
floorName?: string;
|
||
/** 模型分组(通常与 floorCode 相同) */
|
||
modelGroup: string;
|
||
/** 模型文件 URL(相对路径) */
|
||
modelUrl: string;
|
||
/** 文件 SHA256 哈希(MVP 阶段为 mock-sha256-{filename}) */
|
||
hash: string;
|
||
/** 文件大小(字节) */
|
||
sizeBytes: number;
|
||
/** 3D 节点数量 */
|
||
nodeCount?: number;
|
||
/** 材质数量 */
|
||
materialCount?: number;
|
||
/** 贴图数量 */
|
||
imageCount?: number;
|
||
/** 排序序号 */
|
||
sortOrder?: number;
|
||
}
|
||
/** 楼层资源(继承 SgsModelResource,必填 floorName + sortOrder) */
|
||
interface SgsFloorResource extends SgsModelResource {
|
||
floorName: string;
|
||
sortOrder: number;
|
||
}
|
||
/** 图层树节点 — 对应 GET /app-api/gis/sdk/maps/{mapId}/layer-tree */
|
||
interface SgsLayerTreeNode {
|
||
/** 节点 ID */
|
||
id: number | string;
|
||
/** 节点名称 */
|
||
name: string;
|
||
/** 节点类型 */
|
||
nodeType: 'BUILDING' | 'FLOOR' | 'SPACE' | 'ZONE' | 'POI_GROUP';
|
||
/** 楼层代码(FLOOR 节点必填) */
|
||
floorCode?: string;
|
||
/** 空间功能分类 */
|
||
spaceCategory?: string;
|
||
/** 子节点 */
|
||
children?: SgsLayerTreeNode[];
|
||
/** 是否可见 */
|
||
visible?: boolean;
|
||
/** 包含的 3D 节点数量 */
|
||
nodeCount?: number;
|
||
}
|
||
type SgsPoiGroup = "SERVICE" | "BUSINESS" | "OTHER";
|
||
type SgsBusinessPoiType = "shop" | "restaurant" | "cafe" | "vending" | "bookstore" | "cultural_shop" | "photo_spot";
|
||
interface SgsPoiQueryParams {
|
||
mapId?: string | number;
|
||
floorId?: string | number;
|
||
group?: SgsPoiGroup;
|
||
types?: string[];
|
||
keyword?: string;
|
||
limit?: number;
|
||
}
|
||
/** SDK 消费的 POI — 对应 GET /app-api/gis/sdk/floors/{floorId}/pois */
|
||
interface SgsPoi {
|
||
/** POI ID(雪花 ID,字符串或数字均可) */
|
||
id: string | number;
|
||
/** POI 名称 */
|
||
name: string;
|
||
/** POI 类型代码(如 TOILET/ELEVATOR/STAIRS/ENTRANCE) */
|
||
type: string;
|
||
/** POI 类型中文名 */
|
||
typeName: string;
|
||
/** 所在楼层代码 */
|
||
floorCode: string;
|
||
/** GLB 坐标(米),水平面 x/z,高度 y */
|
||
position: {
|
||
x: number;
|
||
y: number;
|
||
z: number;
|
||
};
|
||
/** 状态 */
|
||
status: 'ACTIVE' | 'INACTIVE';
|
||
/** 锚定的 GLB 3D 节点名(可选,用于精准定位) */
|
||
anchorNodeName?: string | null;
|
||
/** 描述 */
|
||
description?: string;
|
||
/** 英文描述 */
|
||
descriptionEn?: string;
|
||
/** 扩展参数 JSON */
|
||
extParams?: string | Record<string, unknown>;
|
||
/** 图标 URL */
|
||
iconUrl?: string;
|
||
floorId?: string | number;
|
||
poiGroup?: SgsPoiGroup;
|
||
businessType?: SgsBusinessPoiType | string;
|
||
coverImageUrl?: string | null;
|
||
images?: string | string[] | null;
|
||
externalUrl?: string | null;
|
||
videoUrl?: string | null;
|
||
phone?: string | null;
|
||
businessHours?: string | null;
|
||
sortOrder?: number | null;
|
||
spatialAreaId?: string | number | null;
|
||
spatialAreaName?: string | null;
|
||
}
|
||
/** 路径规划结果 — 对应 POST /app-api/gis/sdk/routes/plan */
|
||
interface SgsRoutePlanV2 {
|
||
/** 是否成功 */
|
||
success: boolean;
|
||
/** 总距离(米) */
|
||
totalDistance: number;
|
||
/** 总时长(秒) */
|
||
totalDuration: number;
|
||
/** 路线分段列表 */
|
||
segments: SgsRouteSegment[];
|
||
/** 警告信息 */
|
||
warnings: string[];
|
||
}
|
||
/** 路线分段 — WALK 段在单楼层内,TRANSFER 段通过 ELEVATOR/STAIRS/ESCALATOR 换层 */
|
||
interface SgsRouteSegment {
|
||
/** 分段索引(从 0 开始) */
|
||
segmentIndex: number;
|
||
/** 所在楼层 ID(TRANSFER 段可能为空或记录起始楼层) */
|
||
floorId?: string | number | null;
|
||
/** 所在楼层代码(换乘段为 "TRANSFER") */
|
||
floorCode: string;
|
||
/** 楼层名称 */
|
||
floorName: string;
|
||
/** 标准分段类型 */
|
||
segmentType?: SgsRouteSegmentType;
|
||
/** 分段类型 */
|
||
type: 'WALK' | SgsRouteTransferType;
|
||
/** 换乘类型,WALK 段为 WALK,TRANSFER 段为 ELEVATOR/STAIRS/ESCALATOR */
|
||
transferType?: 'WALK' | SgsRouteTransferType;
|
||
/** 距离(米) */
|
||
distance: number;
|
||
/** 时长(秒) */
|
||
duration: number;
|
||
/** 路径点序列 */
|
||
pathPoints: Array<{
|
||
x: number;
|
||
y: number;
|
||
z: number;
|
||
}>;
|
||
/** 路径点序列兼容字段 */
|
||
points?: Array<{
|
||
x: number;
|
||
y: number;
|
||
z: number;
|
||
}>;
|
||
/** 起始节点名 */
|
||
fromNodeName?: string | null;
|
||
/** 终止节点名 */
|
||
toNodeName?: string | null;
|
||
/** 起始节点名兼容字段 */
|
||
startNodeName?: string | null;
|
||
/** 终止节点名兼容字段 */
|
||
endNodeName?: string | null;
|
||
/** 跨楼层通道名称 */
|
||
connectorName?: string | null;
|
||
}
|
||
/** v2.2.0 Manifest — GET /app-api/gis/sdk/maps/{mapId}/manifest */
|
||
interface SgsSdkManifest {
|
||
/** 地图 ID */
|
||
mapId: string | number;
|
||
/** 地图名称 */
|
||
mapName: string;
|
||
/** SDK 协议版本 */
|
||
sdkVersion: string;
|
||
/** 协议版本号 */
|
||
protocolVersion: number;
|
||
/** 数据版本(ISO8601 或递增序号) */
|
||
dataVersion: string;
|
||
/** 最后更新时间 ISO8601 */
|
||
updatedAt: string;
|
||
/** 坐标系标识,固定 "GLB_METER" */
|
||
coordinateSystem: string;
|
||
/** 楼层摘要列表(按 sortOrder 升序) */
|
||
floors: SgsSdkFloorSummary[];
|
||
/** 路线显示资产列表,如 EXTERIOR + L1 同地面组合模型 */
|
||
routeAssets?: SgsRouteAsset[];
|
||
/** 能力声明 */
|
||
capabilities: {
|
||
/** 是否支持 Draco 压缩模型 */
|
||
dracoCompression: boolean;
|
||
/** 是否支持路径规划 */
|
||
routePlanning: boolean;
|
||
/** 是否支持空间面查询 */
|
||
spatialQuery: boolean;
|
||
/** 是否支持讲解点 */
|
||
guideStops: boolean;
|
||
/** 是否支持地图加载 */
|
||
mapLoading?: boolean;
|
||
/** 是否支持楼层切换 */
|
||
floorSwitching?: boolean;
|
||
/** 是否支持 POI 查询 */
|
||
poiQuery?: boolean;
|
||
/** 是否支持空间查询 */
|
||
spaceQuery?: boolean;
|
||
/** 是否支持可导航目的地查询 */
|
||
navigablePlaces?: boolean;
|
||
/** 是否支持跨楼层路径规划 */
|
||
crossFloorRoute?: boolean;
|
||
/** 是否支持无障碍路径 */
|
||
accessibleRoute?: boolean;
|
||
/** 是否支持高亮功能 */
|
||
highlight?: boolean;
|
||
/** 是否支持诊断接口 */
|
||
diagnostics?: boolean;
|
||
businessPoi?: boolean;
|
||
poiSearch?: boolean;
|
||
featuredRoutes?: boolean;
|
||
flowlinePreview?: boolean;
|
||
sameGroundCompositeRoute?: boolean;
|
||
};
|
||
}
|
||
/** v2.4.1 路线显示资产 */
|
||
interface SgsRouteAsset {
|
||
/** 资产 ID */
|
||
id: string | number;
|
||
/** 地图 ID */
|
||
mapId?: string | number;
|
||
/** 资产所属楼层 ID;全局资产可为空 */
|
||
floorId?: string | number | null;
|
||
/** 资产楼层编码或组合编码 */
|
||
floorCode?: string | null;
|
||
/** 资产角色,如 SAME_GROUND_COMPOSITE */
|
||
assetRole: string;
|
||
/** 模型 URL */
|
||
modelUrl: string;
|
||
/** 源文件名 */
|
||
sourceFileName?: string | null;
|
||
/** 源节点名 */
|
||
sourceNodeName?: string | null;
|
||
/** 模型版本标签 */
|
||
modelVersion?: string | null;
|
||
/** 组合资产覆盖的楼层编码,如 ["EXTERIOR", "L1"] */
|
||
coverageFloorCodes?: string[];
|
||
/** 排序 */
|
||
sortOrder?: number;
|
||
}
|
||
/** v2.2.0 楼层摘要(manifest 内嵌) */
|
||
interface SgsSdkFloorSummary {
|
||
/** 楼层 ID */
|
||
floorId: string | number;
|
||
/** 楼层代码(如 L1、L-2) */
|
||
floorCode: string;
|
||
/** 楼层名称 */
|
||
floorName: string;
|
||
/** 排序序号 */
|
||
sortOrder: number;
|
||
/** 模型文件大小(字节) */
|
||
modelSizeBytes: number;
|
||
/** 该楼层 POI 数量 */
|
||
poiCount: number;
|
||
/** 该楼层空间面数量 */
|
||
spaceCount: number;
|
||
}
|
||
/** v2.2.0 楼层 Bundle — GET /app-api/gis/sdk/floors/{floorId}/bundle */
|
||
interface SgsFloorBundle {
|
||
/** 楼层基础信息 */
|
||
floor: {
|
||
floorId: string | number;
|
||
floorCode: string;
|
||
floorName: string;
|
||
sortOrder: number;
|
||
};
|
||
/** 模型资源信息 */
|
||
model: {
|
||
/** Draco 压缩模型 URL(浏览器可直接访问) */
|
||
modelUrl: string;
|
||
/**
|
||
* 原始 GLB URL(未压缩版),压缩失败时自动回退到此 URL。
|
||
* 保障发布和 H5 SDK 可用性不受 Draco 压缩状态影响。
|
||
*/
|
||
fallbackModelUrl: string;
|
||
/** 压缩类型:'draco' | 'none' */
|
||
compressionType: 'draco' | 'none';
|
||
/** 模型版本号 */
|
||
modelVersion: string;
|
||
/** 3D 节点数量 */
|
||
nodeCount: number;
|
||
/** 压缩后文件大小(字节) */
|
||
sizeBytes: number;
|
||
/** 原始文件大小(字节) */
|
||
originSizeBytes: number;
|
||
};
|
||
/** 该楼层的 POI 列表 */
|
||
pois: SgsPoi[];
|
||
/** 该楼层的空间面列表 */
|
||
spaces: SgsSpaceArea[];
|
||
/** 该楼层的讲解点列表 */
|
||
guideStops: SgsGuideStop[];
|
||
/** 路网概览 */
|
||
routeSummary: {
|
||
/** 是否有路网数据 */
|
||
hasRouteNetwork: boolean;
|
||
/** 路网节点数 */
|
||
nodeCount: number;
|
||
/** 路网边数 */
|
||
edgeCount: number;
|
||
};
|
||
/** 需要在前端隐藏的 3D 场景节点名列表 */
|
||
hiddenSceneNodeNames: string[];
|
||
/** 数据版本 */
|
||
dataVersion: string;
|
||
/** 最后更新时间 ISO8601 */
|
||
updatedAt: string;
|
||
}
|
||
/** v2.2.0 空间面 — GET /app-api/gis/sdk/floors/{floorId}/spaces */
|
||
interface SgsSpaceArea {
|
||
/** 空间面 ID */
|
||
id: string | number;
|
||
/** 显示名称 */
|
||
name: string;
|
||
/** 展示名称(兼容 SDK 内部空间标签) */
|
||
displayName?: string;
|
||
/** 空间类型(如 exhibition_hall / corridor / office) */
|
||
type: string;
|
||
/** 空间类型中文名 */
|
||
typeName?: string;
|
||
/** 所属楼层 ID */
|
||
floorId: string | number;
|
||
/** 所属楼层编码 */
|
||
floorCode?: string;
|
||
/** WKT 边界多边形 */
|
||
boundaryWkt: string;
|
||
/** 中心点 GLB 坐标(米) */
|
||
center: {
|
||
x: number;
|
||
y?: number;
|
||
z: number;
|
||
radius?: number;
|
||
};
|
||
/** 关联的 3D 场景节点名(可选) */
|
||
sourceNodeName?: string;
|
||
/** 状态 */
|
||
status: 'ACTIVE' | 'INACTIVE';
|
||
/** 颜色(十六进制,如 #0097A9) */
|
||
colorHex?: string;
|
||
/** 简介 */
|
||
description?: string | null;
|
||
/** 英文简介 */
|
||
descriptionEn?: string | null;
|
||
/** 封面图 */
|
||
coverImageUrl?: string | null;
|
||
/** 图集 */
|
||
images?: string | string[] | null;
|
||
/** 兼容展厅表图集字段 */
|
||
galleryUrls?: string | string[] | null;
|
||
/** 视频 */
|
||
videoUrl?: string | null;
|
||
/** 外部详情链接 */
|
||
externalUrl?: string | null;
|
||
/** 开放时间 */
|
||
openTime?: string | null;
|
||
/** 展品数量 */
|
||
exhibitCount?: number | null;
|
||
/** 面积 */
|
||
areaSqm?: number | null;
|
||
}
|
||
/** v2.2.0 讲解点 — 已标定、可在地图定位的导览讲解点 */
|
||
interface SgsGuideStop {
|
||
/** 讲解点 ID */
|
||
id: string | number;
|
||
/** 讲解点名称 */
|
||
name: string;
|
||
/** 讲解点类型 */
|
||
type: string;
|
||
/** 讲解点类型名称 */
|
||
typeName?: string;
|
||
/** 所属楼层 ID */
|
||
floorId: string | number;
|
||
/** GLB 坐标(米) */
|
||
position: {
|
||
x: number;
|
||
y: number;
|
||
z: number;
|
||
};
|
||
/** 目标类型(如 EXHIBIT / SCENE / INTERACTIVE) */
|
||
targetType: string;
|
||
/** 关联的目标 ID(如展品 ID) */
|
||
targetId?: string | number;
|
||
/** 语音导览音频 URL */
|
||
audioUrl?: string;
|
||
/** 封面图片 URL */
|
||
coverImageUrl?: string;
|
||
/** 描述 */
|
||
description?: string;
|
||
/** 状态 */
|
||
status: 'ACTIVE' | 'INACTIVE';
|
||
/** 是否已完成地图标定 */
|
||
located?: boolean;
|
||
/** 是否有可播放音频 */
|
||
hasAudio?: boolean;
|
||
/** 关联 POI ID */
|
||
poiId?: string | number;
|
||
/** 关联大纲 ID */
|
||
outlineId?: string | number;
|
||
/** 关联大纲名称 */
|
||
outlineName?: string;
|
||
/** 所属展厅 ID */
|
||
hallId?: string | number;
|
||
/** 所属展厅名称 */
|
||
hallName?: string;
|
||
/** 讲解点排序 */
|
||
sort?: number;
|
||
/** 所属路线 ID */
|
||
routeId?: string | number;
|
||
/** 所属路线名称 */
|
||
routeName?: string;
|
||
/** 路线中的顺序 */
|
||
seqOrder?: number;
|
||
/** 建议停留时长(分钟) */
|
||
stayMinutes?: number;
|
||
}
|
||
/** v2.2.0 SDK 错误响应 */
|
||
interface SgsSdkError {
|
||
/** 错误码(如 ERR_TIMEOUT / ERR_NETWORK) */
|
||
code: string;
|
||
/** 人类可读的错误消息 */
|
||
message: string;
|
||
/** 额外错误详情(可选) */
|
||
details?: Record<string, any>;
|
||
}
|
||
/** v2.2.0 性能统计 */
|
||
interface SgsPerformanceStats {
|
||
/** SDK 实例创建时间戳(绝对时间 ms) */
|
||
sdkCreatedAt?: number;
|
||
/** iframe DOM 加载完成耗时(从 SDK 创建起算 ms) */
|
||
iframeDomReadyMs?: number;
|
||
/** 地图引擎就绪耗时(从 SDK 创建起算 ms) */
|
||
engineReadyMs?: number;
|
||
/** Manifest 加载耗时(ms) */
|
||
manifestLoadMs?: number;
|
||
/** Bundle 加载耗时(ms) */
|
||
bundleLoadMs?: number;
|
||
/** 模型文件下载耗时(ms) */
|
||
modelDownloadMs?: number;
|
||
/** 模型文件下载与解析总耗时(ms) */
|
||
modelDownloadAndParseMs?: number;
|
||
/** 模型解析耗时(ms) */
|
||
modelParseMs?: number;
|
||
/** 首帧渲染耗时(ms) */
|
||
firstRenderMs?: number;
|
||
/** 路径规划耗时(ms) */
|
||
routePlanMs?: number;
|
||
/** 使用了 Draco 压缩 */
|
||
dracoUsed?: boolean;
|
||
/** 是否使用了 fallback 模型 */
|
||
fallbackUsed?: boolean;
|
||
/** Bundle 是否命中前端缓存 */
|
||
bundleCacheHit?: boolean;
|
||
/** 当前加载的模型 URL */
|
||
currentModelUrl?: string;
|
||
/** 当前楼层 ID */
|
||
currentFloorId?: string | number;
|
||
}
|
||
interface SgsNavigablePlace {
|
||
id: string | number;
|
||
name: string;
|
||
category: "door" | "poi" | "space" | "guide_stop";
|
||
floorId: string | number;
|
||
floorCode: string;
|
||
floorName?: string;
|
||
x: number;
|
||
z: number;
|
||
nodeId?: string | number;
|
||
routeNodeId?: string | number;
|
||
sourceType?: "POI" | "SPACE" | "FLOOR" | "CUSTOM" | string | null;
|
||
sourceId?: string | number | null;
|
||
anchorId?: string | number | null;
|
||
anchorType?: string | null;
|
||
ownerName?: string;
|
||
typeCode?: string;
|
||
typeName?: string;
|
||
}
|
||
/** v2.3.0 地图级诊断响应 — GET /app-api/gis/sdk/maps/{mapId}/diagnostics */
|
||
interface SgsMapDiagnostics {
|
||
/** 地图 ID */
|
||
mapId: string | number;
|
||
/** 地图名称 */
|
||
mapName: string;
|
||
/** SDK 版本号 */
|
||
sdkVersion: string;
|
||
/** 整体状态 */
|
||
status: 'OK' | 'WARN' | 'ERROR';
|
||
/** 楼层诊断摘要列表 */
|
||
floors: SgsFloorDiagnosticsSummary[];
|
||
/** 汇总统计 */
|
||
summary: {
|
||
/** 楼层总数 */
|
||
floorCount: number;
|
||
/** 模型就绪楼层数 */
|
||
modelReadyFloorCount: number;
|
||
/** POI 总数 */
|
||
poiCount: number;
|
||
/** 空间面总数 */
|
||
spaceCount: number;
|
||
/** 讲解点总数 */
|
||
guideStopCount: number;
|
||
/** 可导航目的地总数 */
|
||
navigablePlaceCount: number;
|
||
/** 路网节点总数 */
|
||
routeNodeCount: number;
|
||
/** 路网边总数 */
|
||
routeEdgeCount: number;
|
||
};
|
||
/** 警告信息列表 */
|
||
warnings: string[];
|
||
}
|
||
/** v2.3.0 楼层诊断摘要(地图级诊断内嵌) */
|
||
interface SgsFloorDiagnosticsSummary {
|
||
/** 楼层 ID */
|
||
floorId: string | number;
|
||
/** 楼层代码 */
|
||
floorCode: string;
|
||
/** 楼层名称 */
|
||
floorName: string;
|
||
/** 楼层状态 */
|
||
status: 'OK' | 'WARN' | 'ERROR';
|
||
/** 模型是否就绪 */
|
||
modelReady: boolean;
|
||
/** 路径规划是否就绪 */
|
||
routePlanningReady: boolean;
|
||
/** 可导航目的地数量 */
|
||
navigablePlaceCount: number;
|
||
}
|
||
/** v2.3.0 楼层级诊断响应 — GET /app-api/gis/sdk/floors/{floorId}/diagnostics */
|
||
interface SgsFloorDiagnostics {
|
||
/** 楼层 ID */
|
||
floorId: string | number;
|
||
/** 楼层代码 */
|
||
floorCode: string;
|
||
/** 楼层名称 */
|
||
floorName: string;
|
||
/** 楼层状态 */
|
||
status: 'OK' | 'WARN' | 'ERROR';
|
||
/** 模型是否就绪 */
|
||
modelReady: boolean;
|
||
/** POI 数量 */
|
||
poiCount: number;
|
||
/** 空间面数量 */
|
||
spaceCount: number;
|
||
/** 讲解点数量 */
|
||
guideStopCount: number;
|
||
/** 可导航目的地数量 */
|
||
navigablePlaceCount: number;
|
||
/** 路网节点数量 */
|
||
routeNodeCount: number;
|
||
/** 路网边数量 */
|
||
routeEdgeCount: number;
|
||
/** 路径规划是否就绪 */
|
||
routePlanningReady: boolean;
|
||
/** 警告信息列表 */
|
||
warnings: string[];
|
||
}
|
||
interface SgsFeaturedRouteSummary {
|
||
id: string | number;
|
||
mapId: string | number;
|
||
routeName: string;
|
||
routeNameEn?: string | null;
|
||
description?: string | null;
|
||
descriptionEn?: string | null;
|
||
coverImageUrl?: string | null;
|
||
routeColor?: string | null;
|
||
estimatedMinutes?: number | null;
|
||
displayOrder?: number | null;
|
||
waypointCount: number;
|
||
startEntranceId?: string | number | null;
|
||
endEntranceId?: string | number | null;
|
||
updatedAt?: string | null;
|
||
}
|
||
interface SgsRouteEndpoint {
|
||
id: string | number;
|
||
name: string;
|
||
floorId: string | number;
|
||
floorCode?: string | null;
|
||
position?: {
|
||
x: number;
|
||
y: number;
|
||
z: number;
|
||
} | null;
|
||
}
|
||
interface SgsFeaturedRouteWaypoint {
|
||
order: number;
|
||
spaceId: string | number;
|
||
spaceName?: string | null;
|
||
floorId?: string | number | null;
|
||
floorCode?: string | null;
|
||
position: {
|
||
x: number;
|
||
y: number;
|
||
z: number;
|
||
};
|
||
title?: string | null;
|
||
subtitle?: string | null;
|
||
description?: string | null;
|
||
imageUrl?: string | null;
|
||
audioUrl?: string | null;
|
||
staySeconds?: number | null;
|
||
tags?: string[];
|
||
highlight?: boolean;
|
||
}
|
||
interface SgsFeaturedRouteDetail extends SgsFeaturedRouteSummary {
|
||
startEntrance?: SgsRouteEndpoint | null;
|
||
endEntrance?: SgsRouteEndpoint | null;
|
||
waypoints: SgsFeaturedRouteWaypoint[];
|
||
}
|
||
interface SgsFeaturedRoutePreviewPayload {
|
||
routeId?: string | number;
|
||
routeName?: string;
|
||
color?: string | null;
|
||
routeColor?: string | null;
|
||
startEntrance?: SgsRouteEndpoint | null;
|
||
endEntrance?: SgsRouteEndpoint | null;
|
||
waypoints?: SgsFeaturedRouteWaypoint[];
|
||
}
|
||
interface SgsRouteRoamingOptions {
|
||
mode?: 'third-person' | 'top';
|
||
speed?: number;
|
||
}
|
||
interface SgsGuideNavigationGraphResp {
|
||
floorId: string | number;
|
||
floorCode?: string | null;
|
||
status?: string | null;
|
||
graphJson?: string | null;
|
||
updatedAt?: string | null;
|
||
}
|
||
interface SgsFlowlineOptions {
|
||
autoFit?: boolean;
|
||
showLabels?: boolean;
|
||
animate?: boolean;
|
||
}
|
||
/** POI 标签项(单个或聚合) */
|
||
interface SgsPoiLabelItem {
|
||
id: string;
|
||
labelKind: 'SINGLE' | 'CLUSTER';
|
||
lod: 'FAR' | 'MID' | 'NEAR';
|
||
floorId: string | number;
|
||
floorCode?: string;
|
||
name: string;
|
||
type?: string;
|
||
typeName?: string;
|
||
category?: string;
|
||
categoryName?: string;
|
||
poiGroup?: string;
|
||
position?: {
|
||
x: number;
|
||
y: number;
|
||
z: number;
|
||
};
|
||
labelPosition?: {
|
||
x: number;
|
||
y: number;
|
||
z: number;
|
||
};
|
||
positionSource?: string;
|
||
labelSource?: string;
|
||
priority?: number;
|
||
childCount?: number;
|
||
childPoiIds?: string[];
|
||
defaultVisible?: boolean;
|
||
sortOrder?: number;
|
||
}
|
||
/** POI 标签楼层数据 */
|
||
interface SgsPoiLabelFloor {
|
||
floorId: string | number;
|
||
floorCode: string;
|
||
floorName?: string;
|
||
sortOrder?: number;
|
||
farLabels: SgsPoiLabelItem[];
|
||
midLabels: SgsPoiLabelItem[];
|
||
nearLabels: SgsPoiLabelItem[];
|
||
}
|
||
/** POI 标签摘要统计 */
|
||
interface SgsPoiLabelSummary {
|
||
floorCount: number;
|
||
farLabelCount: number;
|
||
midLabelCount: number;
|
||
nearLabelCount: number;
|
||
sourcePoiCount: number;
|
||
clusterCount: number;
|
||
singleCount: number;
|
||
}
|
||
/** POI Label LOD Bundle 响应 */
|
||
interface SgsPoiLabelLodBundle {
|
||
mapId: string | number;
|
||
dataVersion?: string;
|
||
floors: SgsPoiLabelFloor[];
|
||
summary: SgsPoiLabelSummary;
|
||
updatedAt?: string;
|
||
}
|
||
|
||
/**
|
||
* 过滤 EXTERIOR 楼层,检查楼层是否是室内可导航楼层
|
||
*/
|
||
declare function isIndoorNavigableFloor(floorCode: string): boolean;
|
||
/**
|
||
* 物理楼层顺序由低到高排序
|
||
*/
|
||
declare function sortIndoorFloors<T extends {
|
||
floorCode: string;
|
||
}>(floors: T[]): T[];
|
||
|
||
declare const utils_isIndoorNavigableFloor: typeof isIndoorNavigableFloor;
|
||
declare const utils_sortIndoorFloors: typeof sortIndoorFloors;
|
||
declare namespace utils {
|
||
export { utils_isIndoorNavigableFloor as isIndoorNavigableFloor, utils_sortIndoorFloors as sortIndoorFloors };
|
||
}
|
||
|
||
/**
|
||
* SGS 3D 地图 H5 SDK 入口类
|
||
*
|
||
* <p>通过 iframe 嵌入独立发布的 /engine/index.html 渲染引擎,以 postMessage 进行双向通信。
|
||
* <p>所有需要后端数据的操作均通过 postMessage 指令由底座代理,
|
||
* Demo / 宿主不允许直连后端 API。
|
||
*
|
||
* @version 2.5.0
|
||
*/
|
||
declare class SGSMapSDK extends EventEmitter<SGSMapEvents> {
|
||
static utils: typeof utils;
|
||
private container;
|
||
private sdkUrl;
|
||
private floorId;
|
||
private mapId;
|
||
private targetOrigin;
|
||
private iframe;
|
||
private _isReady;
|
||
private _isDestroyed;
|
||
/** ready 失败终态:iframe 加载失败或 ready 超时后置 true,后续命令直接 reject */
|
||
private _readyFailed;
|
||
/** ready 失败时的错误对象,用于后续命令的立即 reject */
|
||
private _readyFailedError;
|
||
private defaultTimeout;
|
||
private readyTimeoutMs;
|
||
/** 已 ready 后正在等待响应的命令队列 */
|
||
private promiseQueue;
|
||
/** ready 前暂存的异步命令队列 */
|
||
private _pendingCommands;
|
||
/** ready 前暂存的 fire-and-forget 命令队列 */
|
||
private _pendingFireAndForget;
|
||
private _messageListener;
|
||
/** ready 超时计时器 */
|
||
private _readyTimer;
|
||
/** 🔧 P0: HELLO 重试定时器 — 解决 iframe onload 与 React useEffect 时序竞争 */
|
||
private _helloInterval;
|
||
/** ENGINE_READY 返回的 payload(供外部读取) */
|
||
readyPayload: any;
|
||
/** ready Promise 的 resolve/reject,保证 whenReady() 返回同一个 Promise */
|
||
private _readyResolve;
|
||
private _readyReject;
|
||
private _readyPromise;
|
||
/** 性能追踪字段 */
|
||
private _sdkCreatedAt;
|
||
private _iframeDomReadyMs;
|
||
private _engineReadyMs;
|
||
constructor(options: SGSMapSDKOptions);
|
||
private _initIframeBridge;
|
||
/**
|
||
* ENGINE_READY 到达时的处理
|
||
*/
|
||
private _onEngineReady;
|
||
/**
|
||
* reject ready Promise 并清空所有挂起命令,设置失败终态
|
||
*/
|
||
private _rejectReady;
|
||
/**
|
||
* 排空 ready 前暂存的命令队列 — 逐个以 _postCommandAsync 发送
|
||
*/
|
||
private _flushPendingCommands;
|
||
/**
|
||
* reject 所有挂起的 Promise 和命令队列
|
||
*/
|
||
private _rejectAllPending;
|
||
/**
|
||
* 返回 ready Promise(全局唯一,多次调用返回同一个)。
|
||
* 别名:ready()
|
||
*
|
||
* @example
|
||
* await sdk.whenReady();
|
||
* sdk.changeFloor(floorId);
|
||
*/
|
||
whenReady(): Promise<any>;
|
||
/**
|
||
* whenReady 的别名
|
||
*/
|
||
ready(): Promise<any>;
|
||
/** 获取 ready 状态 */
|
||
getIsReady(): boolean;
|
||
/** 获取当前楼层 ID */
|
||
getCurrentFloor(): string | number;
|
||
/** 获取当前 mapId */
|
||
getMapId(): string | number;
|
||
/** 获取 SDK 版本号 */
|
||
getVersion(): string;
|
||
private _generateRequestId;
|
||
private _postCommand;
|
||
/**
|
||
* 异步命令发送(外部入口)— 支持命令队列
|
||
*
|
||
* <p>状态机优先级:destroyed > readyFailed > !ready(入队) > ready(发送)
|
||
*/
|
||
private _postCommandAsync;
|
||
/**
|
||
* fire-and-forget 命令发送(void 方法统一入口)
|
||
*
|
||
* <p>受 destroyed/readyFailed/!ready 状态保护:
|
||
* - destroyed/readyFailed:静默丢弃 + console.warn
|
||
* - !ready:暂存到 _pendingFireAndForget,ready 后自动发送
|
||
* - ready:立即发送
|
||
*/
|
||
private _postCommandSafe;
|
||
/**
|
||
* 异步命令发送(内部实现)— 已确认 ready
|
||
*/
|
||
private _postCommandAsyncInner;
|
||
/** 聚焦到指定要素节点 */
|
||
focusTo(node: SgsMapNode | string): void;
|
||
/** 切换楼层 */
|
||
changeFloor(floorId: string | number, timeout?: number, options?: {
|
||
forceReload?: boolean;
|
||
}): Promise<{
|
||
success: boolean;
|
||
floorId: string | number;
|
||
}>;
|
||
/** 添加业务图钉 */
|
||
addMarker(config: MarkerConfig): void;
|
||
/** 移除指定图钉 */
|
||
removeMarker(markerId: string): void;
|
||
/** 清空所有业务图钉 */
|
||
clearMarkers(): void;
|
||
/** 高亮多边形轮廓 */
|
||
highlightPolygon(payload: string | object): void;
|
||
/** 寻路规划(v1 兼容) */
|
||
planRoute(from: SgsMapNode | string, to: SgsMapNode | string, options?: any, timeout?: number): Promise<RouteResult>;
|
||
/** 寻路规划 V2(结构化参数) */
|
||
planRouteV2(from: SgsMapNode, to: SgsMapNode, options?: any, timeout?: number): Promise<RouteResult>;
|
||
/** 清除当前路线 */
|
||
clearRoute(): void;
|
||
/** 渲染已有路线点,供外部宿主直接展示自定义路线 */
|
||
renderRoutePoints(pathPoints: Array<{
|
||
x: number;
|
||
y: number;
|
||
z: number;
|
||
}>, options?: any, timeout?: number): Promise<RouteResult>;
|
||
/** 启动路线漫游;pathPoints 为空时,基座会优先使用当前已渲染路线 */
|
||
startRoaming(pathPoints?: Array<{
|
||
x: number;
|
||
y: number;
|
||
z: number;
|
||
}>, options?: SgsRouteRoamingOptions, timeout?: number): Promise<{
|
||
success: boolean;
|
||
mode?: string;
|
||
}>;
|
||
/** 停止路线漫游 */
|
||
stopRoaming(timeout?: number): Promise<{
|
||
success: boolean;
|
||
}>;
|
||
/** 暂停或继续路线漫游 */
|
||
toggleRoamingPause(timeout?: number): Promise<{
|
||
success: boolean;
|
||
paused?: boolean;
|
||
}>;
|
||
/**
|
||
* 导航至POI(SDK 2.4.1)
|
||
*
|
||
* 支持从坐标或POI导航到目标POI,后端自动查询POI坐标。
|
||
*
|
||
* @param from 起点(POI ID字符串/数字 或 坐标对象)
|
||
* @param toPoiId 目标POI ID(建议使用string避免Snowflake精度丢失)
|
||
* @param options 路径选项(wheelchair, preferElevator)
|
||
* @param timeout 超时时间(毫秒)
|
||
*/
|
||
planRouteToPoi(from: string | number | SdkRoutePoint, toPoiId: string | number, options?: RouteOptions, timeout?: number): Promise<RouteResult>;
|
||
/**
|
||
* POI间导航(SDK 2.4.1)
|
||
*
|
||
* 两个POI之间的导航,后端自动查询POI坐标。
|
||
*
|
||
* @param fromPoiId 起点POI ID
|
||
* @param toPoiId 终点POI ID
|
||
* @param options 路径选项(wheelchair, preferElevator)
|
||
* @param timeout 超时时间(毫秒)
|
||
*/
|
||
planRouteBetweenPois(fromPoiId: string | number, toPoiId: string | number, options?: RouteOptions, timeout?: number): Promise<RouteResult>;
|
||
getState(): Promise<any>;
|
||
/** 重置视角 */
|
||
resetView(timeout?: number): Promise<{
|
||
success: boolean;
|
||
}>;
|
||
/** 设置 2D/3D 视图模式 */
|
||
setViewMode(mode: '2d' | '3d', timeout?: number): Promise<{
|
||
success: boolean;
|
||
mode: string;
|
||
}>;
|
||
/** 切换图层可见性 */
|
||
toggleLayer(types: string[], visible: boolean, timeout?: number): Promise<{
|
||
success: boolean;
|
||
visibleTypes: string[];
|
||
}>;
|
||
/** 设置可见图层类型列表 */
|
||
setVisibleLayers(types: string[], timeout?: number): Promise<{
|
||
success: boolean;
|
||
visibleTypes: string[];
|
||
}>;
|
||
/** 设置路线展示视图是否活跃 */
|
||
setRouteViewActive(active: boolean, timeout?: number): Promise<{
|
||
success: boolean;
|
||
active: boolean;
|
||
}>;
|
||
/** 获取地图 Manifest 清单 */
|
||
getManifest(timeout?: number): Promise<SgsSdkManifest>;
|
||
/** 加载指定楼层的完整 Bundle 数据(含 POI/空间面/讲解点/路网) */
|
||
loadFloorBundle(floorId: string | number, timeout?: number): Promise<SgsFloorBundle>;
|
||
/** 获取指定楼层的 POI 列表 */
|
||
getFloorPois(floorId: string | number, timeout?: number): Promise<SgsPoi[]>;
|
||
/** 获取指定楼层的起终点候选目的地列表(门点/POI/空间等吸附后目的地) */
|
||
getNavigablePlaces(floorId: string | number, timeout?: number): Promise<SgsNavigablePlace[]>;
|
||
/** 获取当前楼层的 POI 列表(根据 floorCode 参数) */
|
||
getPois(floorCode: string, timeout?: number): Promise<SgsPoi[]>;
|
||
/** 获取指定楼层的空间面列表 */
|
||
getSpaces(floorId: string | number, timeout?: number): Promise<SgsSpaceArea[]>;
|
||
/** 获取指定楼层的已标定讲解点列表(地图渲染入口) */
|
||
getGuideStops(floorId: string | number, timeout?: number): Promise<SgsGuideStop[]>;
|
||
/** 获取指定展厅的已标定讲解点列表(业务导览入口) */
|
||
getGuideStopsByHall(hallId: string | number, timeout?: number): Promise<SgsGuideStop[]>;
|
||
/** 预加载指定楼层的模型资源(不渲染) */
|
||
preloadFloor(floorId: string | number, timeout?: number): Promise<{
|
||
cached: boolean;
|
||
}>;
|
||
/** 获取性能统计信息 */
|
||
getPerformanceStats(timeout?: number): Promise<SgsPerformanceStats>;
|
||
/** 获取地图级诊断信息 */
|
||
getDiagnostics(timeout?: number): Promise<SgsMapDiagnostics>;
|
||
/** 获取楼层级诊断信息 */
|
||
getFloorDiagnostics(floorId: string | number, timeout?: number): Promise<SgsFloorDiagnostics>;
|
||
/** 清空客户端模型缓存 */
|
||
clearModelCache(): void;
|
||
/** 获取指定楼层的业务 POI 列表 */
|
||
getBusinessPois(floorId: string | number, options?: {
|
||
types?: string[];
|
||
keyword?: string;
|
||
limit?: number;
|
||
}, timeout?: number): Promise<SgsPoi[]>;
|
||
/** 查询 POI 列表 */
|
||
queryPois(params: SgsPoiQueryParams, timeout?: number): Promise<SgsPoi[]>;
|
||
/** 获取特色路线列表 */
|
||
getFeaturedRoutes(mapId?: string | number, options?: {
|
||
limit?: number;
|
||
}, timeout?: number): Promise<SgsFeaturedRouteSummary[]>;
|
||
/** 获取特色路线详情 */
|
||
getFeaturedRoute(routeId: string | number, timeout?: number): Promise<SgsFeaturedRouteDetail>;
|
||
/** 生成并展示精品路线预览 */
|
||
planFeaturedRoutePreview(payload: SgsFeaturedRoutePreviewPayload, timeout?: number): Promise<RouteResult>;
|
||
/** 显示动线 */
|
||
showFlowline(routeId: string | number, options?: SgsFlowlineOptions, timeout?: number): Promise<{
|
||
success: boolean;
|
||
routeId: string | number;
|
||
}>;
|
||
/** 清除动线 */
|
||
clearFlowline(): void;
|
||
/** @deprecated 使用 getManifest() 替代 */
|
||
getReleaseManifest(timeout?: number): Promise<any>;
|
||
/** @deprecated 已废弃,无替代方法 */
|
||
getModelResources(timeout?: number): Promise<any>;
|
||
/** @deprecated 已废弃,无替代方法 */
|
||
getLayerTree(timeout?: number): Promise<any>;
|
||
/** @deprecated 已废弃,无替代方法 */
|
||
loadMockReleaseRoute(timeout?: number): Promise<any>;
|
||
/**
|
||
* 销毁 SDK 实例
|
||
*
|
||
* <p>清理 iframe、移除事件监听器、reject 所有挂起的 Promise。
|
||
* <p>销毁后调用任何命令方法都会 reject ERR_DESTROYED。
|
||
*/
|
||
destroy(): void;
|
||
}
|
||
|
||
export { type MarkerConfig, type RouteOptions, type RouteResult, type SGSErrorCode, type SGSMapEvents, type SGSMapSDKOptions, type SdkRoutePoint, type SgsBusinessPoiType, type SgsFeaturedRouteDetail, type SgsFeaturedRoutePreviewPayload, type SgsFeaturedRouteSummary, type SgsFeaturedRouteWaypoint, type SgsFloorBundle, type SgsFloorDiagnostics, type SgsFloorDiagnosticsSummary, type SgsFloorResource, type SgsFlowlineOptions, type SgsGuideNavigationGraphResp, type SgsGuideStop, type SgsLayerTreeNode, type SgsMapDiagnostics, type SgsMapManifest, type SgsMapNode, type SgsModelResource, type SgsNavigablePlace, type SgsPerformanceStats, type SgsPoi, type SgsPoiGroup, type SgsPoiLabelFloor, type SgsPoiLabelItem, type SgsPoiLabelLodBundle, type SgsPoiLabelSummary, type SgsPoiQueryParams, type SgsRouteAsset, type SgsRouteEndpoint, type SgsRoutePlanV2, type SgsRouteRoamingOptions, type SgsRouteSegment, type SgsRouteSegmentType, type SgsRouteTransferType, type SgsSdkError, type SgsSdkFloorSummary, type SgsSdkManifest, type SgsSpaceArea, type SnapDetail, SGSMapSDK as default };
|