第18行: | 第18行: | ||
<div class="video-wrap infor"> | <div class="video-wrap infor"> | ||
<div class="video-control"></div><!-- 安卓视频位置 (不写协议)--> | <div class="video-control"></div><!-- 安卓视频位置 (不写协议)--> | ||
− | <pre>//mapopen-website-wiki.bj.bcebos.com/demos/ | + | <pre>//mapopen-website-wiki.bj.bcebos.com/demos/全球定位.mov</pre> |
</div> | </div> | ||
<div class="video-icon-and"> | <div class="video-icon-and"> |
2020年6月4日 (四) 19:57的版本
全球定位(单次/连续)
功能场景
本示例展示了在设备连续定位的同时,用户通过操作界面主动获取一次当前位置的场景,例如外勤人员在外业过程中到达某一地点时进行打卡。基于百度地图全球定位服务,这一功能在国内外都可适用。
Android
//mapopen-website-wiki.bj.bcebos.com/demos/全球定位.mov
1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/qrcodes/单次连续.png
扫码体验
使用产品
Android定位SDK|/index.php?title=android-locsdk
>
全球定位|/index.php?title=android-locsdk/guide/get-location/latlng
下载源码
//mapopen-website-wiki.bj.bcebos.com/demos/location/one_continuous_location.zip
核心接口
类
接口
描述
LocationClientOption
setOnceLocation(boolean isOnceLocation)
设置是否进行单次定位,单次定位时调用start之后会默认返回一次定位结果
LocationClientOption
setScanSpan(int scanSpan)
连续定位时间间隔,单位是毫秒 当<1000(1s)时,定时定位无效
LocationClient
start()
启动定位sdk
LocationClient
setLocOption(LocationClientOption locOption)
给定位客户端设置参数
核心代码
1.分别创建定位客户端
创建单次定位客户端:
LocationClient locClientOne = new LocationClient(this);
创建多次定位客户端:
LocationClient locClientContinuoue = new LocationClient(this);
2.分别创建定位结果监听器
创建单次定位回调结果监听
JAVA
private BDAbstractLocationListener oneLocationListener = new BDAbstractLocationListener() { @Override public void onReceiveLocation(BDLocation location) { } } locClientOne.registerLocationListener(oneLocationListener);
复制
深色
复制成功
创建连续定位回调结果监听
JAVA
private BDAbstractLocationListener continuoueLocationListener = new BDAbstractLocationListener() { @Override public void onReceiveLocation(BDLocation location) { } } locClientContinuoue.registerLocationListener(continuoueLocationListener);
复制
深色
复制成功
3.设置定位参数并启动定位
设置单次定位参数
JAVA
LocationClientOption locationClientOption = new LocationClientOption(); // 可选,设置定位模式,默认高精度 LocationMode.Hight_Accuracy:高精度; locationClientOption.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy); /// 设置是否进行单次定位,单次定位时调用start之后会默认返回一次定位结果 locationClientOption.setOnceLocation(true); // 设置定位参数 locClientOne.setLocOption(locationClientOption); // 开启定位 locClientOne.start();
复制
深色
复制成功
设置连续定位参数
JAVA
LocationClientOption locationClientOption = new LocationClientOption(); // 如果设置为0,则代表单次定位,即仅定位一次,默认为0 // 如果设置非0,需设置1000ms以上才有效 locationClientOption.setScanSpan(1000); // 设置定位参数 locClientContinuoue.setLocOption(locationClientOption); // 开启定位 locClientContinuoue.start();
复制
深色
复制成功