LocationManager的用法
来源:互联网 发布:java商城项目经验 编辑:程序博客网 时间:2024/06/03 18:04
要使用LocationManager就必须先获取到它的实例,我们可以用Context的getSystemService()方法获取到。getSystemService()方法接收一个字符串参数,用于确定获取系统的那个服务,这里传入Context.LOCATION_SERVICE即可。因此,获取LocatManager的实例就可以写成:
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
接着我们需要选择一个位置提供器来确定设备当前的位置。Android中一般有三种位置提供器可供选择,
GPS_PROVIDER、NETWORK_PROVIDER和PASSVIE_PROVIDER.其中前两种使用的比较多,分别表示GPS定位和网络定位.
这两种定位各有特点,GPS定位精度比较高,但是非常耗电,而网络定位稍差,但耗电量较小。
将选择好的位置提供器传入到getLastKnownLocation()方法中,就可以得到一个Location对象,如下所示:
String provider = LocationManager.NETWORK_PROVIDER;
Location location = locationManager.getLastKnownLocation(provider);
这个Location对象包含了经度、纬度、海拔等一系列的位置信息,然后从中取出我们所关心的那部分数据即可。
另外,getLastKnownLocation虽然可以获取设备当前的位置信息,但是用户完全是有可能带着设备随时移动的,那么我们怎么 才可以在设备位置发生变化时获取到新的位置信息呢,不用担心,LocationManager还提供了一个requestLocationUpdate()方法,只要传入一个LocationListener的实例,并简单配置几个参数就可以实现上述功能了,写法如下:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 10,
new LocationListener() {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onLocationChanged(Location location) {
}
});
这里requestLocationUpdates()方法接收四个参数,第一个参数是位置提供器的类型,第二个参数是监听位置变化的时间间隔,以毫秒为单位,第三个参数是监听位置变化的距离,以米为单位;第四个参数则是LocationListener监听器。这样的话,,LocationManagermei每隔5秒钟会检查一下位置的变化情况,当移动距离超过10米时,就会调用LocationListener的onLocationChanged()方法,并把新的位置信息作为参数传入。
- LocationManager的基本用法
- LocationManager的用法
- LocationManager与LocationProvider的用法
- LocationManager、Criteria、Geocoder的用法
- LocationManager基本用法
- android 学习笔记 位置查询LocationManager的基本用法
- LocationManager 的简单使用
- android LocationManager的使用
- LocationManager的位置获取
- LocationManager的使用
- LocationManager
- LocationManager
- LocationManager
- LocationManager
- 浅析LocationManager的位置定位
- Location:LocationManager的位置获取
- 获取自己的经纬度 LocationManager
- 基于位置的android应用 Location LocationManager
- 多线程的通信方法
- POJ 3617 Best Cow Line
- 点击ViewGroup的空白区域,子View会变为点击态的bug原因及修复
- 实战Linux shell编程与服务器管理
- jQuery之$(document).ready()使用介绍
- LocationManager的用法
- Ubuntu网络配置
- Android Gallery 3张图无限循环 左右滑动都有效
- Java常见面试题(二)JAVA集合类
- Generic Programming and the STL笔记3--“会改变操作对象之内容”的算法
- Java算法之动态规划
- Java中用split分割字符串
- HTML5智能表单
- 矩阵的特征值和特征向量【转】