android studio百度地图SDK获取当前位置和经纬度和海拔
网上很多获取位置的博文,但是感觉都不是很全面。
最近刚好有一个项目要求获取当地的经纬度和地理位置
几经折腾,终于还是写出来了。文分享一下。
代码如下
先在AndroidManifest中添加如下权限
<!-- 这个权限用于进行网络定位--><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission><!-- 这个权限用于访问GPS定位--><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission><!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位--><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission><!-- 获取运营商信息,用于支持提供运营商信息相关的接口--><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission><!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位--><uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission><!-- 用于读取手机当前的状态--><uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission><!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><!-- 访问网络,网络定位需要上网--><uses-permission android:name="android.permission.INTERNET" /><!-- SD卡读取权限,用户写入离线定位数据--><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
然后就是去百度sdk官网申请key,申请key的步骤就不写了,网上一大推;
然后在AndroidManifes中配置你的key,如下:
<!--添加百度服务--><serviceandroid:name="com.baidu.location.f"android:enabled="true"android:process=":remote"></service><meta-dataandroid:name="com.baidu.lbsapi.API_KEY"android:value="**********" ></meta-data>
注意:百度服务和key都添加在activity标签上面,代码中打星号的就是你申请的key。
然后把去官网下载下来的jar包放到如下位置,点击下载也可以下载。
最后就是MainActivity中实现,代码如下
private void initLocation() {LocationClientOption option = new LocationClientOption();option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);/**可选,设置定位模式,默认高精度LocationMode.Hight_Accuracy:高精度;* LocationMode. Battery_Saving:低功耗;LocationMode. Device_Sensors:仅使用设备;*/option.setCoorType("gcj02gcj02");/**可选,设置返回经纬度坐标类型,默认gcj02gcj02:国测局坐标;bd09ll:百度经纬度坐标;bd09:百度墨卡托坐标;海外地区定位,无需设置坐标类型,统一返回wgs84类型坐标*/option.setScanSpan(3000);/**可选,设置发起定位请求的间隔,int类型,单位ms如果设置为0,则代表单次定位,即仅定位一次,默认为0如果设置非0,需设置1000ms以上才有效*/option.setOpenGps(true);/**可选,设置是否使用gps,默认false使用高精度和仅用设备两种定位模式的,参数必须设置为true*/option.setLocationNotify(true);
/**可选,设置是否当GPS有效时按照1S/1次频率输出GPS结果,默认false*/option.setIgnoreKillProcess(false);/**定位SDK内部是一个service,并放到了独立进程。设置是否在stop的时候杀死这个进程,默认(建议)不杀死,即setIgnoreKillProcess(true)*/option.SetIgnoreCacheException(false);/**可选,设置是否收集Crash信息,默认收集,即参数为false*/option.setIsNeedAltitude(true);/**设置海拔高度*/option.setWifiCacheTimeOut(5 * 60 * 1000);/**可选,7.2版本新增能力如果设置了该接口,首次启动定位时,会先判断当前WiFi是否超出有效期,若超出有效期,会先重新扫描WiFi,然后定位*/option.setEnableSimulateGps(false);/**可选,设置是否需要过滤GPS仿真结果,默认需要,即参数为false*/option.setIsNeedAddress(true);/**可选,设置是否需要地址信息,默认不需要*/mLocationClient.setLocOption(option);/**mLocationClient为第二步初始化过的LocationClient对象需将配置好的LocationClientOption对象,通过setLocOption方法传递给LocationClient对象使用*/}public class MyLocationListener extends BDAbstractLocationListener {@Overridepublic void onReceiveLocation(BDLocation location) {//此处的BDLocation为定位结果信息类,通过它的各种get方法可获取定位相关的全部结果//以下只列举部分获取经纬度相关(常用)的结果信息//更多结果信息获取说明,请参照类参考中BDLocation类中的说明double latitude = location.getLatitude(); //获取纬度信息double longitude = location.getLongitude(); //获取经度信息float radius = location.getRadius(); //获取定位精度,默认值为0.0fjd.setText("" + longitude);wd.setText("" + latitude);height.setText("" + location.getAltitude() + "m");city.setText("" + location.getCity() + " " + location.getDistrict());cityName = location.getCity();//获取经纬度坐标类型,以LocationClientOption中设置过的坐标类型为准String coorType = location.getCoorType();int errorCode = location.getLocType();//获取定位类型、定位错误返回码,具体信息可参照类参考中BDLocation类中的说明}}
定义变量
private TextView jd, wd, height, city, tq;private Button loc_btn,tq_btn;private String cityName,weather1;public LocationClient mLocationClient = null;private MyLocationListener myListener = new MyLocationListener();
onCreate中调用
mLocationClient = new LocationClient(getApplicationContext());//声明LocationClient类mLocationClient.registerLocationListener(myListener); //注册监听函数initLocation();mLocationClient.start();//调用LocationClient的start()方法,便可发起定位请求
以上便可以获取当地的位置和经纬度了
android studio百度地图SDK获取当前位置和经纬度和海拔相关推荐
- Android百度地图海拔,android studio百度地图SDK获取当前位置和经纬度和海拔
网上很多获取位置的博文,但是感觉都不是很全面. 最近刚好有一个项目要求获取当地的经纬度和地理位置 几经折腾,终于还是写出来了.文分享一下. 代码如下 先在AndroidManifest中添加如下权限 ...
- Android studio 百度地图SDK之地图定位与运动轨迹绘制
百度地图定位与运动轨迹 Android开发的前期准备 地图图层显示与定位 运动轨迹的简单绘制 Android开发的前期准备 Android配置在百度地图SDK官网上有详细的说明.具体可以参考官网的教程 ...
- Android使用百度地图api获取定位信息(经纬度)
文章目录 注册 申请密钥 配置 使用 遇到问题 注册 登录百度地图开放平台 注册百度地图开发者,填写相关信息 提交成功后收到邮件 点击链接弹出如下提示就算激活成功了 申请密钥 点击申请密钥或者创建应用 ...
- Android studio百度地图SDK开发 2020最新超详细的Android 百度地图开发讲解(3) 路线规划步行骑行驾车路线规划
2020最新超详细的Android 百度地图开发讲解(3) 路线规划步行骑行驾车路线规划 开发前配置,显示基本地图,实时定位等查看之前代码,此博客紧接上一博客:https://blog.csdn.ne ...
- Android studio百度地图SDK开发 2020最新超详细的Android 百度地图开发讲解(6) POI检索, 根据地址输入提示检索 Sug
POI检索, 根据地址输入提示检索 Sug 参考百度地图官方文档:http://lbsyun.baidu.com/index.php?title=androidsdk/guide/search/sug ...
- 百度定位实时获取位置android,通过百度定位sdk获取实时位置
之前有一片关于基站定位的文章,当时的测试环境是小米+移动,比较顺利. 但在实际运用中就出现问题了-联通和电信的号完全没办法定位! 最好的解决方法就是用第三方sdk来定位了. 百度的定位sdk还是很不错 ...
- android的百度地图sdk获取ip,基于百度地图API的ip地址查询
说明:使用ip地址查询太麻烦,偶然搜索发现有人已经写过基于百度API的ip地址查询,这个是前人的结晶,我只是修改了一些,勿喷. 用的python2.7,编码问题真是坑. 百度mapAPI私钥申请:ht ...
- android studio百度地图教程,Android studio百度地图SDK开发 2020最新超详细的Android 百度地图开发讲解(4) 路线规划之起始点地址输入实现规划...
实现起始点输入的路线规划 要实现输入起始点的路线规划,需要两个输入框,可以将两个输入框设置在和地图同一个Activity中,也可以新建一个Activity,来实现地址的输入,然后通过页面之间的跳转来传 ...
- H5使用百度地图SDK获取用户当前位置并且标记显示在地图
代码实现功能: H5使用百度地图SDK获取用户当前位置并且标记显示在地图,点击该标记弹出一层自定义的HTML. 效果图: 代码: <!DOCTYPE html> <html>& ...
最新文章
- bottle框架学习(八)之Mysql数据库的操作
- 每日一皮:晕,程序重新请求一下,结果还不一样了!
- linux时mysql报1290_rhel6 mysql skip-grant-tables 添加用户报错 ERROR 1290
- javax.swing super()方法
- 华为云创建免费服务器的一次失败尝试
- 我的第一篇cnds文章
- JCreator使用技巧
- 4K标准---电视显示标准(ITU-R BT.2020)
- 【课程总结】软件工程经济学简答题总结
- 信息化为五万教学点带来“优质教师”
- 如何重新编辑排版错乱的PDF文件
- 网络邻居无法查找计算机,局域网中无法找到网上邻居的原因
- 盛大进军语音识别领域:将开源哼唱搜索技术
- 输入文字后不会自动变长的下划线如何制作
- 2021年,从事数据分析行业前景如何?还能转行数据分析师吗?(上)
- linux双系统如何选择顺序,Ubuntu和Windows双系统选择开机顺序
- 深度学习 - 38.Gensim Word2Vec 实践
- Makefile中的死循环问题--学习李云《驾驭Makefile》中的疑惑解决
- python爬虫——爬取拉勾上的职位信息
- 数值越界mysql_Mysql数据读取越界问题
热门文章
- 苹果电脑如何把Windows系统安装到U盘?
- 苹果正式推出新Apple TV应用程序 支持三星新款智能电视
- postgis 栅格数据_PostgreSQL raster(栅格数据) st_value 优化举例
- java doc to pdf_Java实现doc或xls转PDF
- win10下搭建zipline python3.5量化回测平台环境
- 天津大学计算机科学专业排名,天津大学各专业排名
- B/S架构的工作原理
- 058 业务逻辑漏洞
- java培训班学习该怎么做才能快速入门呢
- 大年初七,小灰在西双版纳看人妖