《第一行代码-Android》学习笔记(二十五)

本文介绍了Android中LocationManager的基本用法,包括如何获取位置管理器、选择位置提供器及获取位置信息等。同时,还介绍了如何利用Geocoding API将经纬度转换为地理位置信息。

1.LocationManager的基本用法:

a) 获取LocationManager

LocationManager locationManager=(LocationManager) getSystemService(Context.LOCATION_SERVICE);

b) 选择一个位置提供器来确定当前的位置:

i. 三种位置提供器:

1. GPS_PROVIDER:GPS定位(精准但耗电)

2. NETWORK_PROVIDER:网络定位(精度差但省电)

3. PASSIVE_PROVIDER:被动定位

ii. 获取provider

String provider=LocationManager.NETWORK_PROVIDER;

c) 获得Location对象:location对象里面包含了经纬度、海拔等一系列信息

Location location=locationManager.getLastKnownLocation(provider);

d) 如果不确定此时GPS定位是否可用,可以先判断出此时设备有哪些可以用的定位提供器,再根据结果进行判断:

List<String> providers=locationManager.getProviders(true);

e) 通过LocationListener判断设备移动的时候,获取得到此时最新的位置:

locationManager.requestLocationUpdates(provider(位置提供器), 5000(时间间隔ms, 1(距离间隔,米), listenerLocationListener的实例));

 

2.Geocoding API 的用法:

  安卓本身提供了GeoCoder可以将经纬度值转换成看得懂的地理位置信息,但是由于自身有严重bug,后来谷歌提供了一套Geocoding API可以实现这个效果,并且稳定性比安卓自身要好。(目前由于google接口被禁,也无法使用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值