全部服务产品
开发者频道
定价
登录
室内地图
下载开发文档
室内地图简介

辅助开发者实现全新的地理位置服务体验,室内地图与百度地图App同步更新。 支持的公众建筑包含购物商场、机场和火车站等交通枢纽,医院等,截至2020年6月覆盖全国约5000+个大型购物中心,覆盖类型和城市还在持续增加中。

本章节将对显示室内图、获取室内图信息、楼层切换 。

显示室内地图

开启室内地图后,如果可见区域内包含室内地图覆盖区域(如:王府井等知名商场),且缩放达到一定级别,便可直接在地图上看到精细室内地图效果。室内图最大支持22级地图缩放。

打开室内图的代码如下:

myMapController?.showBaseIndoorMap(true)

显示效果如图:

shinei1.jpg
注意:

1. 因路况图和城市热力图最大缩放级别为21、卫星图支持最大缩放级别为20,当室内地图放大到22级时,打开路况、卫星图或城市热力图,无相应数据显示。

2. 室内图默认是关闭的。

获取室内图信息以及实现楼层切换

需要对室内图进行更多的操作,包括获取室内图信息以及实现楼层切换,您可以采用如下方式:

设置监听事件来监听进入和移出室内图

myMapController?.setMapInOrOutBaseIndoorMapCallback(
callback: (bool flag, BMFBaseIndoorMapInfo baseIndoorMapInfo) {
setState(() {
_indoorMapInfo = baseIndoorMapInfo;
});
print(`地图View进入/移出室内图会调用此方法flag=$flag + MapInfo=${baseIndoorMapInfo.toMap()}`);
});

实现楼层间地图切换,展示不同楼层的室内图

/// 切换楼层信息
/// floorId, indoorId通过 getFocusedBaseIndoorMapInfo()方法获得
Future<BMFSwitchIndoorFloorError> switchFloorError = myMapController?.switchBaseIndoorMapFloor(floorId, indoorId);

上面代码中,floorId表示室内图楼层,格式为“F1”(地上一层),“B1”(地下一层)。indoorId 表示室内图ID;返回值switchFloorError 用于标识楼层切换错误信息,具体如下:

切换楼层错误码含义
Success切换楼层成功
Failed切换楼层失败
NotFocused地图还未聚焦到传入的室内图
NotExist当前室内图不存在该楼层
SwichFloorInfoError切换楼层,室内ID信息错误(android 独有)

详情参考flutter_bmfmap example中的ShowIndoorMapPage

上一篇

显示定位

下一篇

个性化地图

本篇文章对您是否有帮助?