qqmap-gl-typings
Version:
182 lines (151 loc) • 3.95 kB
TypeScript
// 室内地图
declare namespace TMap {
/**
* IndoorManager 用于控制室内地图的加载显示, 不可实例化
* docs: https://lbs.qq.com/webApi/javascriptGL/glDoc/glDocIndoor
*/
class IndoorManager {
/**
* 初始化室内图管理器
*/
initialize: Promise<null>;
/**
* 设置室内建筑是否可以被自动激活
*/
setAutoActive(autoActive: boolean): this;
/**
* 将 buildingId 对应的室内建筑设置为激活状态
*/
setActiveIndoorBuilding(buildingId: string): this;
/**
* 设置室内建筑是否显示
*/
setVisible(isVisible: boolean): this;
/**
* 显示处于激活状态的室内建筑的楼层控件, 若没有激活状态的室内建筑, 该方法无效
*/
showFloorControl(): this;
/**
* 隐藏处于激活状态的室内建筑的楼层控件
*/
hideFloorControl(): this;
/**
* 获取地图对象, 若为空返回 null
*/
getMap(): Map | null;
/**
* 获取室内建筑是否可以被自动激活
*/
getAutoActive(): boolean;
/**
* 获取处于激活状态下的室内建筑, 若都为非激活状态, 则返回 null
*/
getActiveIndoorBuilding(): IndoorBuilding | null;
/**
* 获取室内图是否显示
*/
getVisible(): boolean;
/**
* 获取室内建筑, 若 id 不存在返回 null
*/
getIndoorBuilding(buildingId: string): IndoorBuilding | null;
/**
* 获取所有的室内建筑
*/
getIndoorBuildingList(): IndoorBuilding;
/**
* 添加 listener 到 eventName 事件的监听
*/
on(
eventName: 'active_changed',
listener: (evt: IndoorBuilding) => void
): this;
/**
* 从 eventName 事件的监听器数组中移除指定的 listener
*/
off(eventName: 'active_changed', listener: () => void): this;
}
/**
* 室内建筑实例
*/
interface IndoorBuilding {
/**
* 设置当前选中楼层
*/
setSelectedFloor(floor: string): this;
/**
* 获取地图对象, 若为空返回 null
*/
getMap(): Map | null;
/**
* 获取室内建筑物的管理器
*/
getManager(): IndoorManager;
/**
* 获取室内建筑物的当前展示的楼层
*/
getSelectedFloor(): string;
/**
* 获取室内建筑物信息
*/
getBuildingInfo(): IndoorBuildingInfo;
/**
* 异步获取室内建筑物信息
*/
getBuildingInfoAsync(): Promise<IndoorBuildingInfo>;
/**
* 室内建筑物是否处于激活状态
*/
isActive(): boolean;
/**
* 添加 listener 到 eventName 事件的监听器数组中
*/
on(eventName: 'floor_changed', listener: () => void): this;
/**
* 从 eventName 事件的监听器数组中移除指定的 listener
*/
off(eventName: 'floor_changed', listener: () => void): this;
}
/**
* 室内建筑相关信息
*/
interface IndoorBuildingInfo {
/**
* 室内建筑物所在的城市 id
*/
cityId: string;
/**
* 室内建筑物 id
*/
buldingId: string;
/**
* 室内建筑名称
*/
buildingName: string;
/**
* 室内建筑物的楼层信息列表
*/
floorList: FloorInfo[];
/**
* 室内建筑物默认显示的楼层
*/
defaultFloor: string;
/**
* 室内建筑物的中心点, 通常是建筑物的默认显示楼层的中心点
*/
center: LatLng;
}
/**
* 室内建筑楼层信息
*/
interface FloorInfo {
/**
* 楼层名称
*/
name: string;
/**
* 室内建筑物的楼层范围
*/
bounds: LatLngBounds;
}
}