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

文档全面上新

更科技的视觉体验,更高效的页面结构,快前往体验吧!

体验新版
 
第1行: 第1行:
 
<div id="examples_center"><!-- 页面标题 --><div class="title-hd">室内高精度定位</div><!-- 标题下子标题及简介,可有多个 --><div class="title-mi">功能场景</div><div class="wrap-mi">本示例展示了在百度地图室内图覆盖的场所中如何获取精准的室内定位信息。</div><!--  --></div><div class="demos_wrap"><div class="header"><div class="andiord-header active">Android</div><div class="ios-header hide">iOS</div></div><div class="andiord-wrap wrap"><div class="wrap-wp"><div class="wrap_left"><div class="left-video"><div class="img-bg-and"></div><div class="phone-android"><div class="video-wrap infor"><div class="video-control"></div><!-- 安卓视频位置 (不写协议)--><pre>//mapopen-website-wiki.bj.bcebos.com/demos/室内定位.mp4</pre>
 
<div id="examples_center"><!-- 页面标题 --><div class="title-hd">室内高精度定位</div><!-- 标题下子标题及简介,可有多个 --><div class="title-mi">功能场景</div><div class="wrap-mi">本示例展示了在百度地图室内图覆盖的场所中如何获取精准的室内定位信息。</div><!--  --></div><div class="demos_wrap"><div class="header"><div class="andiord-header active">Android</div><div class="ios-header hide">iOS</div></div><div class="andiord-wrap wrap"><div class="wrap-wp"><div class="wrap_left"><div class="left-video"><div class="img-bg-and"></div><div class="phone-android"><div class="video-wrap infor"><div class="video-control"></div><!-- 安卓视频位置 (不写协议)--><pre>//mapopen-website-wiki.bj.bcebos.com/demos/室内定位.mp4</pre>
</div><div class="video-icon-and"><div class="play play-and"></div><div class="stop stop-and"></div></div></div><div class="progressWrap-hide-and"></div><div id="videoControls-and"><div id="progressWrap-and"><div id="playProgress-and"></div></div></div></div><div class="left-qrCode"><!-- 安卓二维码位置 --><div class="qrCode-and">1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/newqrcodes/室内定位.png</div><div>扫码体验</div></div></div><div class="wrap_right"><div class="wrap_right_nav"><div class="wrap_right_nav_l"><div>使用产品</div><div><!-- 安卓使用产品下选项,可有多个 --><!-- 产品1|/index.php?title=test --><div class="documentA">Android定位SDK|/index.php?title=android-locsdk</div><div>></div><div class="documentA">室内定位|/index.php?title=android-locsdk/guide/get-location/indoors</div></div></div><div class="wrap_right_nav_r">下载源码</div><!-- 安卓源码地址 --><div class="github-url-and">//mapopen-website-wiki.bj.bcebos.com/demos/location/IndoorLocationDemo.zip</div></div><div class="wrap_table"><div class="table_nav"><div class="left-icon"></div><div>核心接口</div></div><div class="table_wrap"><div class="table_wrap_title"><div>类</div><div>接口</div><div>描述</div><div>备注</div></div><!-- 表格接口,可有多个 --><div class="table_wrap_con"><div class="table_wrap_w"><div><div class="table-wrap-className">BaiduMap</div></div><div><div>setIndoorEnable(boolean enabled)</div></div><div><div>设置是否显示室内图, 默认室内图不显示 室内图只有在缩放级别[17, 22]范围才生效,但是在18级之上(包含18级)才会有楼层边条显示。</div></div><div><div>地图SDK</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BaiduMap</div></div><div><div>setOnBaseIndoorMapListener(BaiduMap.OnBaseIndoorMapListener listener)</div></div><div><div>设置室内图模式监听者</div></div><div><div>地图SDK</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">OnBaseIndoorMapListener</div></div><div><div>onBaseIndoorMapMode(boolean in, MapBaseIndoorMapInfo info)</div></div><div><div>地图进入室内图模式回调函数,in:是否进入室内图模式,info :室内图信息</div></div><div><div>地图SDK</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">LocationClient</div></div><div><div>startIndoorMode()</div></div><div><div>打开室内定位模式,该模式下会加快定位速度并输出连续室内定位结果;当BDLocation.getFloor()!= null时,表明该区域已经支持室内定位,开发者可以尝试调用该接口,体验高精度室内定位功能</div></div><div><div>定位SDK</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">LocationClient</div></div><div><div>stopIndoorMode()</div></div><div><div>关闭室内定位模式</div></div><div><div>定位SDK</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">LocationClient</div></div><div><div>BDAbstractLocationListener</div></div><div><div>监听定位结果回调函数</div></div><div><div>定位SDK</div></div></div></div></div></div></div></div><div class="pre-nav"><div class="left-icon"></div><div>核心代码</div></div><div class="pre-nav"><div>1.设置地图进入室内图模式回调函数</div></div><div class="pre-wrap"><div class="pre-wrap-nav"><div>JAVA</div></div><!-- 安卓示例代码位置 --><div class="pre-wrap-w pre-wrap-w-and"><pre class="prettyprint prettyprinted pre-and">BaiduMap.OnBaseIndoorMapListener  onBaseIndoorMapListener = new BaiduMap.OnBaseIndoorMapListener() {
+
</div><div class="video-icon-and"><div class="play play-and"></div><div class="stop stop-and"></div></div></div><div class="progressWrap-hide-and"></div><div id="videoControls-and"><div id="progressWrap-and"><div id="playProgress-and"></div></div></div></div><div class="left-qrCode"><!-- 安卓二维码位置 --><div class="qrCode-and">1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/newqrcodes/室内定位.png</div><div>扫码体验</div></div></div><div class="wrap_right"><div class="wrap_right_nav"><div class="wrap_right_nav_l"><div>使用产品</div><div><!-- 安卓使用产品下选项,可有多个 --><div class="documentA">Android定位SDK|/index.php?title=android-locsdk</div><div>></div><div class="documentA">室内定位|/index.php?title=android-locsdk/guide/get-location/indoors</div></div></div><div class="wrap_right_nav_r">下载源码</div><!-- 安卓源码地址 --><div class="github-url-and">//mapopen-website-wiki.bj.bcebos.com/demos/location/IndoorLocationDemo.zip</div></div><div class="wrap_table"><div class="table_nav"><div class="left-icon"></div><div>核心接口</div></div><div class="table_wrap"><div class="table_wrap_title"><div>类</div><div>接口</div><div>描述</div><div>备注</div></div><!-- 表格接口,可有多个 --><div class="table_wrap_con"><div class="table_wrap_w"><div><div class="table-wrap-className">BaiduMap</div></div><div><div>setIndoorEnable(boolean enabled)</div></div><div><div>设置是否显示室内图, 默认室内图不显示 室内图只有在缩放级别[17, 22]范围才生效,但是在18级之上(包含18级)才会有楼层边条显示。</div></div><div><div>地图SDK</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BaiduMap</div></div><div><div>setOnBaseIndoorMapListener(BaiduMap.OnBaseIndoorMapListener listener)</div></div><div><div>设置室内图模式监听者</div></div><div><div>地图SDK</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">OnBaseIndoorMapListener</div></div><div><div>onBaseIndoorMapMode(boolean in, MapBaseIndoorMapInfo info)</div></div><div><div>地图进入室内图模式回调函数,in:是否进入室内图模式,info :室内图信息</div></div><div><div>地图SDK</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">LocationClient</div></div><div><div>startIndoorMode()</div></div><div><div>打开室内定位模式,该模式下会加快定位速度并输出连续室内定位结果;当BDLocation.getFloor()!= null时,表明该区域已经支持室内定位,开发者可以尝试调用该接口,体验高精度室内定位功能</div></div><div><div>定位SDK</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">LocationClient</div></div><div><div>stopIndoorMode()</div></div><div><div>关闭室内定位模式</div></div><div><div>定位SDK</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">LocationClient</div></div><div><div>BDAbstractLocationListener</div></div><div><div>监听定位结果回调函数</div></div><div><div>定位SDK</div></div></div></div></div></div></div></div><div class="pre-nav"><div class="left-icon"></div><div>核心代码</div></div><div class="pre-nav"><div>1.设置地图进入室内图模式回调函数</div></div><div class="pre-wrap"><div class="pre-wrap-nav"><div>JAVA</div></div><!-- 安卓示例代码位置 --><div class="pre-wrap-w pre-wrap-w-and"><pre class="prettyprint prettyprinted pre-and">BaiduMap.OnBaseIndoorMapListener  onBaseIndoorMapListener = new BaiduMap.OnBaseIndoorMapListener() {
 
     @Override
 
     @Override
 
     public void onBaseIndoorMapMode(boolean b, MapBaseIndoorMapInfo mapBaseIndoorMapInfo) {
 
     public void onBaseIndoorMapMode(boolean b, MapBaseIndoorMapInfo mapBaseIndoorMapInfo) {
第61行: 第61行:
 
                 </pre>
 
                 </pre>
 
<div class="pre-btn"><div class="pre-btn-copy-and">复制</div><div class="pre-btn-cb-and">深色</div></div><div class="success">复制成功</div></div></div></div><div class="ios-wrap wrap" style="display: none;"><div class="wrap-wp"><div class="wrap_left"><div class="left-video"><div class="img-bg-ios"></div><div class="phone-ios"><div class="video-wrap infor"><div class="video-control"></div><!-- ios视频位置 --><pre>//mapopen-website-wiki.bj.bcebos.com/demos/iostest.MP4</pre>
 
<div class="pre-btn"><div class="pre-btn-copy-and">复制</div><div class="pre-btn-cb-and">深色</div></div><div class="success">复制成功</div></div></div></div><div class="ios-wrap wrap" style="display: none;"><div class="wrap-wp"><div class="wrap_left"><div class="left-video"><div class="img-bg-ios"></div><div class="phone-ios"><div class="video-wrap infor"><div class="video-control"></div><!-- ios视频位置 --><pre>//mapopen-website-wiki.bj.bcebos.com/demos/iostest.MP4</pre>
</div><div class="video-icon-ios"><div class="play play-ios"></div><div class="stop stop-ios"></div></div></div><div class="progressWrap-hide-ios"></div><div id="videoControls-ios"><div id="progressWrap-ios"><div id="playProgress-ios"></div></div></div></div><div class="left-qrCode"><!-- ios二维码位置 --><div class="qrCode-ios">//mapopen-website-wiki.bj.bcebos.com/demos/play.png</div><div>扫码手机观看</div></div></div><div class="wrap_right"><div class="wrap_right_nav"><div class="wrap_right_nav_l"><div>使用产品</div><div><!-- IOS使用产品下选项,可有多个 --><!-- 产品1|/index.php?title=test --><div class="documentA">产品1|/index.php?title=test</div><!--  --><div>></div><div class="documentA">产品2|/index.php?title=test</div></div></div><div class="wrap_right_nav_r">下载源码</div><!-- IOS源码地址 --><div class="github-url-ios">//mapopen-website-wiki.bj.bcebos.com/demos/xs%20max.png</div></div><div class="wrap_table"><div class="table_nav"><div class="left-icon"></div><div>核心接口</div></div><div class="table_wrap"><div class="table_wrap_title"><div>类</div><div>接口</div><div>描述</div><div>备注</div></div><!-- ios表格接口内容,可有多个 --><!-- 表格接口,可有多个 --><div class="table_wrap_con"><div class="table_wrap_w"><div><div class="table-wrap-className">BMKClusterManager</div></div><div><div>- (void)clearClusterItems;</div></div><div><div>清除标注集群items</div></div><div><div>V4.0.0起</div></div></div><!--  --><div class="table_wrap_w"><div><div class="table-wrap-className">BMKClusterManager</div></div><div><div>- (NSArray&lt;BMKCluster *&gt; *)getClusters:(CGFloat)zoomLevel;</div></div><div><div>根据地图缩放级别获取标注集群</div></div><div><div>V4.0.0起</div></div></div>
+
</div><div class="video-icon-ios"><div class="play play-ios"></div><div class="stop stop-ios"></div></div></div><div class="progressWrap-hide-ios"></div><div id="videoControls-ios"><div id="progressWrap-ios"><div id="playProgress-ios"></div></div></div></div><div class="left-qrCode"><!-- ios二维码位置 --><div class="qrCode-ios">//mapopen-website-wiki.bj.bcebos.com/demos/play.png</div><div>扫码手机观看</div></div></div><div class="wrap_right"><div class="wrap_right_nav"><div class="wrap_right_nav_l"><div>使用产品</div><div><!-- IOS使用产品下选项,可有多个 --><div class="documentA">产品1|/index.php?title=test</div><!--  --><div>></div><div class="documentA">产品2|/index.php?title=test</div></div></div><div class="wrap_right_nav_r">下载源码</div><!-- IOS源码地址 --><div class="github-url-ios">//mapopen-website-wiki.bj.bcebos.com/demos/xs%20max.png</div></div><div class="wrap_table"><div class="table_nav"><div class="left-icon"></div><div>核心接口</div></div><div class="table_wrap"><div class="table_wrap_title"><div>类</div><div>接口</div><div>描述</div><div>备注</div></div><!-- ios表格接口内容,可有多个 --><!-- 表格接口,可有多个 --><div class="table_wrap_con"><div class="table_wrap_w"><div><div class="table-wrap-className">BMKClusterManager</div></div><div><div>- (void)clearClusterItems;</div></div><div><div>清除标注集群items</div></div><div><div>V4.0.0起</div></div></div><!--  --><div class="table_wrap_w"><div><div class="table-wrap-className">BMKClusterManager</div></div><div><div>- (NSArray&lt;BMKCluster *&gt; *)getClusters:(CGFloat)zoomLevel;</div></div><div><div>根据地图缩放级别获取标注集群</div></div><div><div>V4.0.0起</div></div></div></div></div></div></div></div><div class="pre-nav"><div class="left-icon"></div><div>核心代码</div></div><div class="pre-wrap"><div class="pre-wrap-title">1.第一步</div><div class="pre-wrap-nav"><div>Objective-C</div></div><div class="pre-wrap-w pre-wrap-w-ios code_container"><!-- ios示例代码位置 --><pre class="prettyprint prettyprinted pre-ios">1
 
+
</div></div></div></div></div><div class="pre-nav"><div class="left-icon"></div><div>核心代码</div></div><div class="pre-wrap"><div class="pre-wrap-title">1.第一步</div><div class="pre-wrap-nav"><div>Objective-C</div></div><div class="pre-wrap-w pre-wrap-w-ios code_container"><!-- ios示例代码位置 --><pre class="prettyprint prettyprinted pre-ios">1
+
 
/** 更新标注展示. */
 
/** 更新标注展示. */
 
- (void)updateClusters {
 
- (void)updateClusters {

2022年2月25日 (五) 17:37的最后版本

室内高精度定位
功能场景
本示例展示了在百度地图室内图覆盖的场所中如何获取精准的室内定位信息。
Android
iOS
//mapopen-website-wiki.bj.bcebos.com/demos/室内定位.mp4
1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/newqrcodes/室内定位.png
扫码体验
使用产品
Android定位SDK|/index.php?title=android-locsdk
>
室内定位|/index.php?title=android-locsdk/guide/get-location/indoors
下载源码
//mapopen-website-wiki.bj.bcebos.com/demos/location/IndoorLocationDemo.zip
核心接口
接口
描述
备注
BaiduMap
setIndoorEnable(boolean enabled)
设置是否显示室内图, 默认室内图不显示 室内图只有在缩放级别[17, 22]范围才生效,但是在18级之上(包含18级)才会有楼层边条显示。
地图SDK
BaiduMap
setOnBaseIndoorMapListener(BaiduMap.OnBaseIndoorMapListener listener)
设置室内图模式监听者
地图SDK
OnBaseIndoorMapListener
onBaseIndoorMapMode(boolean in, MapBaseIndoorMapInfo info)
地图进入室内图模式回调函数,in:是否进入室内图模式,info :室内图信息
地图SDK
LocationClient
startIndoorMode()
打开室内定位模式,该模式下会加快定位速度并输出连续室内定位结果;当BDLocation.getFloor()!= null时,表明该区域已经支持室内定位,开发者可以尝试调用该接口,体验高精度室内定位功能
定位SDK
LocationClient
stopIndoorMode()
关闭室内定位模式
定位SDK
LocationClient
BDAbstractLocationListener
监听定位结果回调函数
定位SDK
核心代码
1.设置地图进入室内图模式回调函数
JAVA
BaiduMap.OnBaseIndoorMapListener   onBaseIndoorMapListener = new BaiduMap.OnBaseIndoorMapListener() {
    @Override
    public void onBaseIndoorMapMode(boolean b, MapBaseIndoorMapInfo mapBaseIndoorMapInfo) {
        // 设置楼层数据
        mFloorListAdapter.setmFloorList(mapBaseIndoorMapInfo.getFloors());
        mStripListView.setVisibility(View.VISIBLE);
        mStripListView.setStripAdapter(mFloorListAdapter);
        mMapBaseIndoorMapInfo = mapBaseIndoorMapInfo;
    }
};
                
复制
深色
复制成功
2.开启室内定位图层设置室内图模式监听
JAVA
mBaiduMap = mMapView.getMap();
// 设置是否显示室内图, 默认室内图不显示
mBaiduMap.setIndoorEnable(true);
// 设置室内图模式监听
mBaiduMap.setOnBaseIndoorMapListener(onBaseIndoorMapListener);
                
复制
深色
复制成功
3.开启室内定位模式
JAVA
/**
* 定位SDK监听函数
*/
public class MyLocationListenner extends BDAbstractLocationListener {

private String lastFloor = null;

@Override
public void onReceiveLocation(BDLocation location) {
// map view 销毁后不在处理新接收的位置
if (location == null || mMapView == null) {
    return;
}
String bid = location.getBuildingID();
if (bid!= null && mMapBaseIndoorMapInfo!= null) {
    // 校验是否满足室内定位模式开启条件
    if (bid.equals(mMapBaseIndoorMapInfo.getID())) {
        // 楼层
        String floor = location.getFloor().toUpperCase();
        boolean needUpdateFloor = true;
        if (lastFloor == null) {
            lastFloor = floor;
        } else {
            if (lastFloor.equals(floor)) {
                needUpdateFloor = false;
            } else {
                lastFloor = floor;
            }
        }
        if (needUpdateFloor) {
            // 切换楼层
            mBaiduMap.switchBaseIndoorMapFloor(floor, mMapBaseIndoorMapInfo.getID());
            mFloorListAdapter.setSelectedPostion(mFloorListAdapter.getPosition(floor));
            mFloorListAdapter.notifyDataSetInvalidated();
        }

        if (!location.isIndoorLocMode()) {
            // 开启室内定位模式,只有支持室内定位功能的定位SDK版本才能调用该接口
            mLocationClient.startIndoorMode();
        }
    }
}  
                
复制
深色
复制成功
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

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

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消