浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
室内地图简介

自v4.0版起,百度地图SDK室内图功能正式上线,辅助开发者实现全新的地理位置服务体验,室内地图与百度地图App同步更新。 支持的公众建筑包含购物商场、机场和火车站等交通枢纽,医院等,覆盖全国约4000+个大型购物中心,覆盖类型和城市还在持续增加中。

本章节将对显示室内图、获取室内图信息、楼层切换、室内POI检索、室内路线规划等做进一步的说明。

显示室内地图

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

打开室内图的代码如下:

mBaiduMap.setIndoorEnable(true);//打开室内图,默认为关闭状态

显示效果如图:
MapIndoor.png
注意:
1. 因路况图和城市热力图最大缩放级别为21、卫星图支持最大缩放级别为20,当室内地图放大到22级时,打开路况、卫星图或城市热力图,无相应数据显示。
2. 室内图默认是关闭的。

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

需要对室内图进行更多的操作,包括获取室内图信息以及实现楼层切换,您可以采用如下方式:
设置监听事件来监听进入和移出室内图

mBaiduMap.setOnBaseIndoorMapListener(new BaiduMap.OnBaseIndoorMapListener() {
    @Override
    public void onBaseIndoorMapMode(boolean on, MapBaseIndoorMapInfo mapBaseIndoorMapInfo) {
        if (on) {
            // 进入室内图
            // 通过获取回调参数 mapBaseIndoorMapInfo 便可获取室内图信
            //息,包含楼层信息,室内ID等
        } else {
            // 移除室内图
        }
    }
});

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

// 切换楼层信息
//strID 通过 mMapBaseIndoorMapInfo.getID()方法获得
SwitchFloorError switchFloorError = mBaiduMap.switchBaseIndoorMapFloor(strFloor, strID); 

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

SwitchFloorError.SWITCH_OK:     //切换成功
SwitchFloorError.FLOOR_INFO_ERROR:   //切换楼层, 室内ID信息错误
SwitchFloorError.FLOOR_OVERLFLOW:    //楼层溢出 即当前室内图不存在该楼层
SwitchFloorError.FOCUSED_ID_ERROR:  //切换楼层室内ID与当前聚焦室内ID不匹配
SwitchFloorError.SWITCH_ERROR: //切换楼层失败

详情参考BaiduMapsApiASDemo中的IndoorMapDemo

  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消