百度地图Baidu LBS 的使用
来源:互联网 发布:icq聊天软件下载 编辑:程序博客网 时间:2024/06/06 05:38
1、下载百度定位jar包;
2、申请密钥;
3、集成项目;
4、实现定位。
1、从 http://developer.baidu.com/map/index.php?title=android-locsdk/geosdk-android-download
下载需要的jar包,以及实例代码 BaiduLBS_AndroidSDK_Sample
2、申请密钥:
项目keystore文件,获取sha1内容:
keytool -list -v -keystore e:\dpm.keystore
详情,见http://developer.baidu.com/map/index.php?title=androidsdk/guide/key
3、集成项目;
参考demo,将manifest中文件,jar包,集成到项目中,配置好密钥。
4、实现定位:
在application的oncreate初始化百度定位的相关参数:
public static Context appContext;//定位public static LocationClient mLocationClient;//定位监听public MyLocationListener mMyLocationListener;public static Activity currentActivity;public static boolean isActived=false;public static int point=0;@Overridepublic void onCreate() {super.onCreate();appContext = getApplicationContext();SDKInitializer.initialize(this);initLocation();mMyLocationListener = new MyLocationListener();mLocationClient.registerLocationListener(mMyLocationListener);} private void initLocation(){ LocationClientOption option = new LocationClientOption(); option.setLocationMode(LocationMode.Hight_Accuracy);//可选,默认高精度,设置定位模式,高精度,低功耗,仅设备 option.setCoorType("bd09ll");//百度标准坐标,默认gcj02,设置返回的定位结果坐标系, option.setScanSpan(5000);//可选,默认0,即仅定位一次,设置发起定位请求的间隔需要大于等于1000ms才是有效的 option.setIsNeedAddress(true);//可选,设置是否需要地址信息,默认不需要 option.setOpenGps(true);//可选,默认false,设置是否使用gps option.setLocationNotify(true);//可选,默认false,设置是否当gps有效时按照1S1次频率输出GPS结果 option.setIgnoreKillProcess(true);//可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop的时候杀死这个进程,默认不杀死 option.setEnableSimulateGps(false);//可选,默认false,设置是否需要过滤gps仿真结果,默认需要 option.setIsNeedLocationDescribe(true);//可选,默认false,设置是否需要位置语义化结果,可以在BDLocation.getLocationDescribe里得到,结果类似于“在北京天安门附近” option.setIsNeedLocationPoiList(true);//可选,默认false,设置是否需要POI结果,可以在BDLocation.getPoiList里得到 mLocationClient.setLocOption(option); }/** * * TODO(自定义监听器) * <p style="display:none">modifyRecord</p> * <p style="display:none">version:V1.0,author:sjyuan,date:Sep 23, 2014 11:59:59 AM,content:TODO </p> * @author sjyuan * @date Sep 23, 2014 11:59:59 AM * @since * @version * * */public class MyLocationListener implements BDLocationListener {@Overridepublic void onReceiveLocation(BDLocation location) {// Receive LocationmLocationClient.stop();if (location == null)return;//本地保存位置信息AppConfig config = AppConfig.sharedInstance();config.Latitude = location.getLatitude();config.Longitude = location.getLongitude();config.Address = location.getAddrStr();config.saveToPreference();try {
<span style="white-space:pre"></span>if(location.getLatitude()==4.9E-324 || location.getLongitude()==4.9E-324){<span style="white-space:pre"></span>//定位失败<span style="white-space:pre"></span>}else{
<span style="white-space:pre"></span>//定位成功
<pre name="code" class="java">//本地逻辑实现; 可以在application中,设置handler变量,在使用的地方设置传入handler,进行定位,在此处定位成功后,发送消息,在使用的地方进行处理,
使用经纬度,再将handler置为null,或者你发广播也可以;也可以在此application中,存一些全局变量来控制逻辑部分。
<span style="white-space:pre"></span>}
} catch (Exception e) {}}}
使用部分,获取到Application变量,比如上文类为App,则
(App)getApplicationContext().<span style="font-family: Arial, Helvetica, sans-serif;">mLocationClient.start();</span>
<span style="font-family: Arial, Helvetica, sans-serif;">之后处理定位成功逻辑即可。</span>
0 0
- 百度地图Baidu LBS 的使用
- 百度lbs的使用
- 百度地图LBS云报错
- 百度地图LBS ItemizedOverlay
- 百度地图LBS云
- 浅尝百度地图LBS开发
- 如何获取google地图、baidu百度地图的坐标
- 如何获取google地图、baidu百度地图的坐标
- 百度LBS地图的Web端开发实战
- 百度LBS地图的Web端开发实战
- 关于百度地图开发LBS云检索的一些坑...
- LBS地图使用
- Android 百度地图使用时出现inflating class com.baidu.mapapi.map.MapView错误的解决方案
- BaiduMap---百度地图官方Demo之LBS.云检索功能(介绍如何使用LBS.云检索用户自有数据)
- 百度地图的使用
- 百度地图的使用
- 百度地图的使用
- 百度地图的使用
- android studio 安装出现两个图标
- tomcat执行一个java类
- WAV文件格式
- 混合时代的开发己经来临
- 黑马程序员-[OC]学习之旅-封装、继承
- 百度地图Baidu LBS 的使用
- 我对“编程平台”的理解
- pjsip编译步骤,centos环境支持视频通话
- 栈的压入,弹出序列
- js中 a : function(){}这是什么格式? 代表什么含义?怎样学习这样的格式?
- MySQL索引与优化
- Java_Annotation详解
- C++数值交换
- Arrays类中sort,binarySearch,fill实例