百度定位的一个封装工具类
来源:互联网 发布:网络作家个人简介 编辑:程序博客网 时间:2024/04/29 03:40
百度定位现在在大大小小的App中使用的比较广泛,但是如何更好的使用百度提供给我们的Api却又是不那么简单,因此这里我将项目中使用到的一个百度定义封装的工具类共享出来,供大家参考和指教。
废话不多少了,直接上代码:
(这里面使用了接口回调的方式来进行调用百度定位,对接口回调比较了解的朋友们应该很容易明白)
package com.icbc.elife.utils;import com.baidu.location.BDLocation;import com.baidu.location.BDLocationListener;import com.baidu.location.LocationClient;import com.baidu.location.LocationClientOption;import com.baidu.location.LocationClientOption.LocationMode;import com.baidu.mapapi.SDKInitializer;import android.content.Context;import android.text.TextUtils;/** * * 创建时间:2015年12月1日 上午10:57:55 * 项目名称:ELife * @author Z.G.N * @version 1.0 * @since jdk1.7.0_51 * 文件名称:LocationUtil.java * 类说明:获取地址位置 */public class LocationUtil {private static LocationUtil locationUtil;private BDLocation location;private Context context;/** 百度定位 */public LocationClient mLocationClient;//public GeofenceClient mGeofenceClient;public MyLocationListener mMyLocationListener;public BDLocation mlocation; // 定位到的数据public boolean isLocated; // 是否定位完成private LocationUtil(Context context) {// 百度地图//SDKInitializer.initialize(context);mLocationClient = new LocationClient(context.getApplicationContext());mMyLocationListener = new MyLocationListener();mLocationClient.registerLocationListener(mMyLocationListener);//mGeofenceClient = new GeofenceClient(getApplicationContext());LocationClientOption option = new LocationClientOption();option.setLocationMode(LocationMode.Hight_Accuracy);// 设置高精度模式option.setCoorType("bd09ll");// 返回的定位结果是百度经纬度,默认值gcj02option.setScanSpan(5000);// 设置发起定位请求的间隔时间为5000msoption.setTimeOut(5000);option.setIsNeedAddress(true); //反地理编码mLocationClient.setLocOption(option);}/** * 定义一个单例方法,避免多线程并发的写法 * @param context * @return */public static LocationUtil getInstance(Context context) {if (locationUtil == null) {synchronized (LocationUtil.class) {if(locationUtil==null){locationUtil = new LocationUtil(context);}}}return locationUtil;}/** * 开始进行百度定位 */public void startLocation(){mLocationClient.start();}/** * 结束百度定位 */public void stopLocation(){mLocationClient.stop();}/** * 实现实位回调监听 */public class MyLocationListener implements BDLocationListener {@Overridepublic void onReceiveLocation(BDLocation location) {if(location!=null && !TextUtils.isEmpty(location.getCity())){if(baiduLocationListener!=null){baiduLocationListener.onLocationChanged(location);}stopLocation();}}}public BaiduLocationListener baiduLocationListener;public void setBaiduLocatinListener(BaiduLocationListener baiduLocationListener){this.baiduLocationListener=baiduLocationListener;}public interface BaiduLocationListener{public void onLocationChanged(BDLocation location);}}
0 0
- 百度定位的一个封装工具类
- 百度地图(BaiduMap)定位工具类封装和使用
- 百度定位的简单封装
- 百度定位工具类
- 为android封装的百度定位组件
- 百度地图工具类封装(包括定位,附近、城市、范围poi检索,反地理编码)
- 百度定位功能封装
- 短信收发封装的一个工具类
- 一个简单封装的jdbc工具类
- 自己封装的一个工具类
- 自己封装的一个工具类
- 封装一个常用的js工具类
- 百度地图SDK定位工具类
- 关于百度地图的一个定位功能
- 封装一个SqliteDataBase工具类
- 简单封装一个供自己使用的工具类
- Timber(对Log类封装的一个工具)
- 一个封装好的Slf4jLogUtil工具类(下)
- 数据库中的游标
- IIS上部署网站
- 进程多线程
- SVN cornerstone 上传静态库等文件
- solvePnp
- 百度定位的一个封装工具类
- CEF3 Windows开发环境搭建(补充版)
- stdlib.h
- leetcode142. Linked List Cycle II
- python 面向对象编程
- varnish性能测试
- [从头学数学] 第133节 轴对称 小结与复习题
- linux检测是否是启动过程的方法
- 图像特征提取三大法宝:HOG特征,LBP特征,Haar特征