android 监听位置变化

来源:互联网 发布:java 多线程同步机制 编辑:程序博客网 时间:2024/04/20 13:38
由于位置信息是时刻变化的,如果要获取最新的位置信息,就要监听位置的变化。如果 google的导航软件,车载导航等。根据google map 获取的位置信息是有偏差的,如果需要精确的定位,需要付费获取偏移算法。网上也有其它的纠偏方法,有兴趣的可以尝试下。


1. 获取 LocationManager
2. 实现 LocationListener 
3. 注册 requestLocationUpdates 


实例


LocationManager lm = (LocationManager) getSystemService(LOCATION_SERVICE);
/*
public void requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener) 
minTime 上报时间间隔 单位毫秒
minDistance 距离间隔 单位米
*/
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);






LocationListener locationListener = new LocationListener()
{


@Override
public void onLocationChanged(Location location)
{
   
tv.setText("当前维度:"+location.getLatitude()+"   经度信息: "+location.getLongitude());
 

}


@Override
public void onProviderDisabled(String provider)
{

}


@Override
public void onProviderEnabled(String provider)
{
 

}


@Override
public void onStatusChanged(String provider, int status, Bundle extras)
{
 



};





添加权限
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 <uses-permission android:name="android.permission.INTERNET" />















原创粉丝点击