处理一:

接入百度,高德,腾讯地图提供的获取经纬度的sdk;

优点:接入流程相对简单,不用处理网络和GPS定位的切换和获取以及各个经纬度(gcj02,bd09,wgs84)转换问题,技术相对成熟。

缺点:需要引入sdk包增加app的包的大小,存在一定的机型适配问题,

处理二:

使用Android提供的API,自己处理逻辑:

优点:增加的app大小可以接受,内部逻辑可预期,

缺点:需要自己处理网络和GPS定位的切换和获取以及各个经纬度(gcj02,bd09,wgs84)转换问题。

下面是实现自己实现API获取经纬度的代码:

1. 获取请求经纬度的权限,这里就不做详细介绍了,需要请求的权限如下

<!--  获取位置信息需要的权限 -->
<!-- Allows an app to access approximate location.  -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- Allows an app to access precise location -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

2. 获取经纬度

 /*** 获取位置首先网络 ,如果网络没有站点列表,再次获取GPS获取位置*/int mLatitude;int mLongitude;LocationManager mLocationManager;private String mBestProvider;private void getLocation() {mLatitude = 0;mLongitude = 0;//这里可以使用Application的上下文mLocationManager = (LocationManager)APP.getAppContext().getSystemService(Context.LOCATION_SERVICE);//如果是同时有GPS和网络定位的权限,我这里的需求精度不是很高 先使用了网络location = mLocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);if (location == null) {//试图请求GPSlocation = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);// 到了这里说明,本地没有存储位置,需要重新获取一下if (location == null) {   requestLocation();return;}}// 到这里说明当前已经获取到经纬度了,直接处理后续的转换,应用了getAddress(location);}

3.重新请求经纬度

 private void requestLocation() {// 这里只获取一次的的方法// 需要更新就要使用这个方法LocationManager.requestLocationUpdates()mLocationManager.requestSingleUpdate(LocationManager.NETWORK_PROVIDER, new LocationListener() {@Overridepublic void onLocationChanged(Location location) {// 用完将监听移除mLocationManager.removeUpdates(this);// 到这里说明当前已经获取到经纬度了,直接处理后续的转换,应用了getAddress(location);}@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {}@Overridepublic void onProviderEnabled(String provider) {}@Overridepublic void onProviderDisabled(String provider) {}}, null);}

4. 当前写的是获取过程,请求权限和坐标转换没有写,有什么错误请留言,谢谢。

Android 获取经纬度处理相关推荐

  1. android获取经纬度代码

    android 4.4上如何获取经纬度信息 由于Android对于APN的网络API没有公开,不过我们可以阅读源代码,然后进行数据库操作,系统会自动监听数据库的变化,从而实现开启或者关闭APN.大家可 ...

  2. android 获取经纬度(百度地图)

    今天做原生获取经纬度,本来以为很容易,毕竟之前也做过,我使用的是 LocationManager 和 Location 来获取,但是,最终我怎么也获取不到经纬度,debug才发现最终的 Locatio ...

  3. android 经纬度方向,Android获取经纬度、计算距离、方位角

    最近在Android上作GPS的东西,获取经纬度.计算距离.方位角,感受在搞GIS样.固然,玩笑了,玩玩而已,稍微总结一下.html 经度指示南北方向,纵向.android 纬度指示东西方向,横向.g ...

  4. Android 获取经纬度。2018年写

    本博客内容 获取当前经纬度信息,显示到textView里 具体代码 1. 添加权限 AndroidManifest.xml <uses-permission android:name=" ...

  5. Android 获取经纬度,地理位置,省市区

    申请百度key:http://lbsyun.baidu.com/ 1.jar包下载地址:https://pan.baidu.com/s/1J-boj0ct9oJ8YjXMR8X4KA 下载并复制到li ...

  6. android 获取经纬度 有负值吗,获取纬度和经度的负值

    我想在我的应用程序中得到经度和纬度的值,我已经做到了,但问题是我用值得到了负号.虽然值是正确的,但不知道为什么用值得到负号. java类代码: package com.vshine.neuron.te ...

  7. 安卓(android)使用GPS,获取经纬度

    android获取经纬度,有这个两个类需要用: 1.LocationManager位置管理器 2.Location位置类 第一步:获取LocationManager实例 locationManager ...

  8. Android 获取地理位置信息 封装好了 直接用

    前言:花了一个早上研究了以下android获取经纬度,然后网上的参考资料都是杂七杂八,基本上都是过去几年的,现在我用 android6.0参照别人的结果发生好多错误,我的内心几乎是崩溃的.后来,不断百 ...

  9. android地图方位角_Android获取经纬度、计算距离、方位角

    最近在Android上做GPS的东西,获取经纬度.计算距离.方位角,感觉在搞GIS样.当然,玩笑了,玩玩而已,稍微总结一下. 经度指示南北方向,纵向. 纬度指示东西方向,横向. 获取经纬度 使用GPS ...

  10. Android系统定位获取经纬度

    Android系统定位获取经纬度 直接上代码 public class LocaltionUtil {private double latitude = 0.0;private double long ...

最新文章

  1. 微信小程序转发 分享 打电话功能,完整代码附效果图
  2. centos 7 中安装 docker和创建 tomcat容器并部署web应用
  3. c php socket,C与php socket通讯
  4. CSU 1337 搞笑版费马大定理(2013湖南省程序设计竞赛J题)
  5. 上周热点回顾(7.10-7.16)
  6. 大型前端项目的断点调试共享化和复用化实践
  7. Git for Windows之推送本地版本库到远程仓库
  8. 道客巴巴vip账号共享2020_腾讯视频VIP怎么两个手机通用?
  9. 【渝粤教育】广东开放大学 性考 形成性考核 (33)
  10. 多表操作查询 一对一
  11. Golang——单元测试testing
  12. 计算机完成逻辑运算的原理,计算机组成原理2.5.1逻辑运算.ppt
  13. 将 EndNote 文献信息导出成 BibTeX 格式(可根据label排序)以及出现三个问号
  14. 从入门到入土(三)RocketMQ 怎么保证的消息不丢失?
  15. Linux内核深入理解定时器和时间管理(2):clocksource 框架
  16. [2018.07.24 T1] 真板题
  17. JAVA关于MD5加盐加密算法
  18. .net 事务嵌套存储过程事务的处理方法
  19. Tableau中国五城市六年PM2.5数据挖掘
  20. Xcode真机调试中There was an internal API error错误解决方法

热门文章

  1. 线性判别分析(Linear Discriminant Analysis)
  2. 2020年开始,中国程序员前景一片灰暗,是这样吗?
  3. postgresql 清理磁盘空间
  4. Endnote使用——参考文献的插入及引用
  5. PHPstudy使用教程
  6. 大数据查询怎么优化?
  7. 玩转微信个性化头像,一键加V/加字/加图片
  8. LeetCode995.Minimum Number of K Consecutive Bit Flips(K 连续位的最小翻转次数 )
  9. 华为 BGP路由聚合
  10. Endnote常见错误