(以“<div id="examples_center"> <!-- 页面标题 --> <div class="title-hd">多模式定位</div><!-- 标题下子标题及简介,可有多个 --> <div clas...”为内容创建页面) |
|||
第34行: | 第34行: | ||
<div class="left-qrCode"> | <div class="left-qrCode"> | ||
<!-- 安卓二维码位置 --> | <!-- 安卓二维码位置 --> | ||
− | <div class="qrCode-and">1590746640|</div> | + | <div class="qrCode-and">1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/qrcodes/多方式定位.png</div> |
<div>扫码体验</div> | <div>扫码体验</div> | ||
</div> | </div> | ||
第46行: | 第46行: | ||
<!-- 产品1|/index.php?title=test --> | <!-- 产品1|/index.php?title=test --> | ||
<div class="documentA">Android地图SDK|/index.php?title=androidsdk</div> | <div class="documentA">Android地图SDK|/index.php?title=androidsdk</div> | ||
− | |||
− | |||
</div> | </div> | ||
</div> | </div> | ||
第246行: | 第244行: | ||
</div> | </div> | ||
</div> | </div> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</div> | </div> |
2020年6月1日 (一) 15:27的版本
多模式定位
功能场景
本示例展示了如何通过配置不同定位模式、坐标系获取精准定位结果及丰富定位信息
Android
1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/qrcodes/多方式定位.png
扫码体验
使用产品
Android地图SDK|/index.php?title=androidsdk
下载源码
//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) { // 在此获取定位结果信息。 } }
复制
深色
复制成功