自v4.0版起,百度地图sdk室内图功能正式上线,辅助开发者实现全新的地理位置服务体验,室内地图与百度地图app同步更新。 支持的公众建筑包含购物商场、机场和火车站等交通枢纽,医院等,截至2020年6月覆盖全国约5000 个大型购物中心,覆盖类型和城市还在持续增加中。
本章节将对显示室内图、获取室内图信息、楼层切换、室内poi检索、室内路线规划等做进一步的说明。
开启室内地图后,如果可见区域内包含室内地图覆盖区域(如:王府井等知名商场),且缩放达到一定级别,便可直接在地图上看到精细室内地图效果。室内图最大支持22级地图缩放。
打开室内图的代码如下:
mbaidumap.setindoorenable(true);//打开室内图,默认为关闭状态
显示效果如图:
需要对室内图进行更多的操作,包括获取室内图信息以及实现楼层切换,您可以采用如下方式:
设置监听事件来监听进入和移出室内图
mbaidumap.setonbaseindoormaplistener(newbaidumap.onbaseindoormaplistener(){@overridepublicvoidonbaseindoormapmode(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
上一篇
下一篇
本篇文章对您是否有帮助?