android位置服务

LocationManager lm; 
MyLocationListener locationListener; 
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
locationListener = new MyLocationListener(); 
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener); 

本节主要是介绍一下gps的使用,google map和gps的结合是android上主要应用之一,android market中,此类产品所占比例不小。 
我们在上节的代码中添加如下内容: 

缺少MyLocationListener吧?那我们就创建一个MyLocationListener,要实现LocationListener中的几个方法,LocationListener的功能我就不用再说了吧? 
我吧代码贴出来,一目了然。 
// 下面是从GPS获取坐标的监听,暂时没有使用 

public class MyLocationListener implements LocationListener { 
@Override 
public void onLocationChanged(Location loc) { 
if (loc != null) { 
Log.d("MapTest", "Location changed : Lat: " + loc.getLatitude() + " Lng: " + loc.getLongitude()); 

GeoPoint p = new GeoPoint((int) (loc.getLatitude() * 1E6), (int) (loc.getLongitude() * 1E6)); 
mc.animateTo(p); 
mc.setZoom(16); 
mapView.invalidate(); 
} 
} 

@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_COARSE_LOCATION" /> 
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> 

posted @ 2009-08-29 16:48  张兴业  阅读(183)  评论(0编辑  收藏  举报