介绍
这篇文章主要讲解了Android如何通过原生方式获取经纬度与城市信息,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
在项目中需要获取用户所在位置的经纬度和城市上送给风控系统。一般来说,定位有两种方式:
- <李>用第三方SDK定位,如百度地图,高德地图,谷歌地图;李> <李>用Android原生SDK中api的定位;李>
本文讲述定位的第二种方式,用Android原生的SDK中api的定位,如果项目定位要求较高还是建议使用第三方地图库。
Android原生方式获取经纬度两种定位方式:GPS定位和Wifi定位
- <李> GPS定位相比Wifi定位更精准且可在无网络情况下使用,但在室内基本暴毙无法使用。李> <李> Wifi定位没有室内外限制,也不需要开启GPS但需要联网。但测试发现Wifi定位时onLocationChanged函数(用于监听经纬度变化)触发间隔无法小于30年代。李>
示例代码如下:
公共类TestLocationActivity延伸AppCompatActivity { 公共静态最终int LOCATION_CODE=301; 私人LocationManager LocationManager; 私人字符串locationProvider=零; @Override 保护空白> & lt; !——粗略的位置权限——比; & lt; uses-permission android: name=癮ndroid.permission.ACCESS_COARSE_LOCATION"祝辞& lt;/uses-permission> & lt; !——精确的位置权限——比; & lt; uses-permission android: name=癮ndroid.permission.ACCESS_FINE_LOCATION"祝辞& lt;/uses-permission> & lt; uses-permission android: name=癮ndroid.permission.INTERNET"祝辞& lt;/uses-permission>
首先将手机定位服务设置,调到下图所示:
这可能会获取不到经纬度。为什么在网络和GPS都可用的情况下只执行GPS而不是网络?也许是从精确度考虑的,但是走GPS进入监听的侦听器后,不会执行onLocationChanged()方法,因为我是在室内,没有移动,所以如果你获取不到经纬度,就要将定位服务调到仅使用网络定位或者关闭手机GPS这样就可以获取到了。
看完上述内容,是不是对android如何通过原生方式获取经纬度与城市信息有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。