室内图支持的公众建筑包含购物商场、机场和火车站等交通枢纽,医院等。
室内图默认不显示,如果需要显示,可通过下面两种方式设置:
一种是:地图初始化时设置indoorMap是否显示;
一种是:通过MapOptions的showBaseIndoorMap设置是否显示。
// 地图初始化设置mapOpt = new MapOptions({ shows:{indoorMap:true}});// 地图实例化后设置this.mapController.mapOptions.showBaseIndoorMap = true;
通过设置地图的MapEvent.INDOORSTATUSCHANGE事件,监听地图室内图状态,判断是否进入室内图或者移出室内图。
this.mapController.addEventListener(MapEvent.INDOORSTATUSCHANGE, (status) => {if (status) {// 进入室内图} else {// 移除室内图}});
首先是通过地图实例的getIndoorInfo(uid?:string)方法获取室内楼层数据,uid参数可选,若无,则获取当前地图范围内显示的室内图楼层数据。
let data = this.mapController.getIndoorInfo(uid) as null | IndoorFloorBundles;if (data && data.uid) {data.floorlist.map((floorName: string) => {// 楼层名称});}
然后,通过switchIndoorFloor(floor:string,uid:string)切换显示室内图楼层
this.mapController.switchIndoorFloor(floorName, uid);
上一篇
下一篇
本篇文章对您是否有帮助?