第18行: | 第18行: | ||
<div class="video-wrap infor"> | <div class="video-wrap infor"> | ||
<div class="video-control"></div><!-- 安卓视频位置 (不写协议)--> | <div class="video-control"></div><!-- 安卓视频位置 (不写协议)--> | ||
− | <pre></pre> | + | <pre>//mapopen-website-wiki.bj.bcebos.com/demos/AndroidVideos/多方式定位.mp4</pre> |
</div> | </div> | ||
<div class="video-icon-and"> | <div class="video-icon-and"> | ||
第45行: | 第45行: | ||
<!-- 安卓使用产品下选项,可有多个 --> | <!-- 安卓使用产品下选项,可有多个 --> | ||
<!-- 产品1|/index.php?title=test --> | <!-- 产品1|/index.php?title=test --> | ||
− | <div class="documentA"> | + | <div class="documentA">Android定位SDK|/index.php?title=android-locsdk</div> |
</div> | </div> | ||
</div> | </div> |
2020年6月1日 (一) 15:51的版本
多模式定位
功能场景
本示例展示了如何通过配置不同定位模式、坐标系获取精准定位结果及丰富定位信息
Android
//mapopen-website-wiki.bj.bcebos.com/demos/AndroidVideos/多方式定位.mp4
1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/qrcodes/多方式定位.png
扫码体验
使用产品
Android定位SDK|/index.php?title=android-locsdk
下载源码
//mapopen-pub-androidsdk.cdn.bcebos.com/map/sample/BaiduLBS_AndroidSDK_Sample.zip
核心接口
类
接口
描述
LocationClientOption
setLocationMode(LocationClientOption.LocationMode mode)
设置定位模式
LocationClientOption
setIsNeedLocationDescribe(boolean isNeedLocationDescribe)
设置是否需要返回位置语义化信息,可以在BDLocation.getLocationDescribe()中得到数据
LocationClientOption
setIsNeedAddress(boolean isNeed)
设置是否需要地址信息,默认为无地址。 在设备获取gps位置的时候,对应的地址信息不会马上返回,因为gps是直接在本地产生,但地址信息需要从云端获取,是个异步过程,开发者在接收定位返回数据的时候,建议不要立即stop定位sdk以等待数据回调
LocationClientOption
setIsNeedLocationPoiList(boolean isNeedLocationPoiList)
设置是否需要返回位置POI信息,可以在BDLocation.getPoiList()中得到数据
LocationClientOption
setCoorType(java.lang.String coorType)
设置坐标类型
LocationClient
start()
启动定位sdk
LocationClient
setLocOption(LocationClientOption locOption)
给定位客户端设置参数
BDAbstractLocationListener
BDAbstractLocationListener
监听定位结果回调函数
核心代码
1.配置定位参数开启定位
JAVA
/** * 初始化定位 */ private void initLoctionClient() { // 定位服务的客户端。宿主程序在客户端声明此类,并调用,目前只支持在主线程中启动 mLocationClient = new LocationClient(getApplicationContext()); mMyLocationListener = new MyLocationListener(); mLocationClient.registerLocationListener(mMyLocationListener); mLocationClientOption = new LocationClientOption(); // 可选,默认false,设置是否开启Gps定位 mLocationClientOption.setOpenGps(true); // 可选,默认false,设置定位时是否需要海拔信息,默认不需要,除基础定位版本都可用 mLocationClientOption.setIsNeedAltitude(true); // 可选,默认高精度,设置定位模式,高精度,低功耗,仅设备 mLocationClientOption.setLocationMode(LocationMode.Hight_Accuracy); // 可选,默认gcj02,设置返回的定位结果坐标系,如果配合百度地图使用,建议设置为bd09ll; mLocationClientOption.setCoorType("bd09ll"); // 设置发起连续定位请求的间隔 mLocationClientOption.setScanSpan(3000); / 可选,设置是否需要地址信息,默认不需要 mLocationClientOption.setIsNeedAddress(true); // 可选,默认false,设置是否需要POI结果,可以在BDLocation.getPoiList里得到 mLocationClientOption.setIsNeedLocationPoiList(true); // 可选,设置是否需要设备方向结果 mLocationClientOption.setNeedDeviceDirect(true); // 可选,默认false,设置是否需要位置语义化结果,可以在BDLocation.getLocationDescribe里得到,结果类似于“在北京天安门附近” mLocationClientOption.setIsNeedLocationDescribe(true); // 需将配置好的LocationClientOption对象,通过setLocOption方法传递给LocationClient对象使用 mLocationClient.setLocOption(mLocationClientOption); // 开始定位 mLocationClient.start(); }
复制
深色
复制成功
2.获取定位回调信息
JAVA
/** * 定位信息回调 */ class MyLocationListener extends BDAbstractLocationListener { @Override public void onReceiveLocation(BDLocation bdLocation) { // 在此获取定位结果信息。 } }
复制
深色
复制成功