Android GPS (当前位置 & GPS信息更新)
2011-07-14 16:27
309 查看
转载自:/article/6639189.html
最近在做Android手机应用开发,还是很有意思的。其实如果只是做简单手机应用开发而不是手机游戏开发的话,还是很简单的。把主要的控件掌握了,就可以开发简单的应用了。
下面主要说一下在Android中使用GPS功能。
开发由于GPS功能时,常与Google Map相关,因此先推荐一篇讲解Google Map的文章:
http://mobiforge.com/developing/story/using-google-maps-android
该文章详细的讲解了Android中如何使用Google Map的各种功能。文章甚好,强烈推荐。
看完了如上文章后,我们就来讲解下如何使用GPS。
首先在AndroidManifest.xml中添加位置服务权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
然后再看如下代码例: LocationManager locMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location loc = locMan.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (loc != null) {
lat = loc.getLatitude();
Log.d(TAG, "latitude: " + lat);
lng = loc.getLongitude();
Log.d(TAG, "longitude: " + lng);
}先注册LocationManager,然后就可以通过访问getLastKnownLocation得到当前的GPS坐标。是不是很简单。
人人
既然是GPS,我们当然不只是想知道当前的位置,更重要的是要随着位置的移动,GPS信息也要更新。那么我们需要怎么做呢?
还先看如下代码例:LocationListener locLis = new MyLocationListener();
locMan.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 10,
locLis);
...
...
...
public class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
if (loc != null) {
p = new GeoPoint((int) (loc.getLatitude() * 1E6),
(int) (loc.getLongitude() * 1E6));
mc.animateTo(p);
mc.setZoom(14);
mc.setCenter(p);
}
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}声明自己的LocationListener后,调用requestLocationUpdates方法,就可以得到最新的GPS信息。
常用方法说明:
public void requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener)
当时间超过minTime(单位:毫秒),或者位置移动超过minDistance(单位:米),就会调用listener中的方法更新GPS信息。
官方文档中有如下说明:
1. minTime的值最好是不小于60000(即:1分钟),这样会更加高效且节电。
2. 如果要尽可能实时的更新GPS信息,请将minTime和minDistance都设置成0。
最近在做Android手机应用开发,还是很有意思的。其实如果只是做简单手机应用开发而不是手机游戏开发的话,还是很简单的。把主要的控件掌握了,就可以开发简单的应用了。
下面主要说一下在Android中使用GPS功能。
开发由于GPS功能时,常与Google Map相关,因此先推荐一篇讲解Google Map的文章:
http://mobiforge.com/developing/story/using-google-maps-android
该文章详细的讲解了Android中如何使用Google Map的各种功能。文章甚好,强烈推荐。
看完了如上文章后,我们就来讲解下如何使用GPS。
首先在AndroidManifest.xml中添加位置服务权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
然后再看如下代码例: LocationManager locMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location loc = locMan.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (loc != null) {
lat = loc.getLatitude();
Log.d(TAG, "latitude: " + lat);
lng = loc.getLongitude();
Log.d(TAG, "longitude: " + lng);
}先注册LocationManager,然后就可以通过访问getLastKnownLocation得到当前的GPS坐标。是不是很简单。
人人
既然是GPS,我们当然不只是想知道当前的位置,更重要的是要随着位置的移动,GPS信息也要更新。那么我们需要怎么做呢?
还先看如下代码例:LocationListener locLis = new MyLocationListener();
locMan.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 10,
locLis);
...
...
...
public class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
if (loc != null) {
p = new GeoPoint((int) (loc.getLatitude() * 1E6),
(int) (loc.getLongitude() * 1E6));
mc.animateTo(p);
mc.setZoom(14);
mc.setCenter(p);
}
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}声明自己的LocationListener后,调用requestLocationUpdates方法,就可以得到最新的GPS信息。
常用方法说明:
public void requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener)
当时间超过minTime(单位:毫秒),或者位置移动超过minDistance(单位:米),就会调用listener中的方法更新GPS信息。
官方文档中有如下说明:
1. minTime的值最好是不小于60000(即:1分钟),这样会更加高效且节电。
2. 如果要尽可能实时的更新GPS信息,请将minTime和minDistance都设置成0。
相关文章推荐
- Android GPS (当前位置 & GPS信息更新)
- Android GPS (当前位置 & GPS信息更新)
- Android GPS获取当前位置信息
- Android GPS获取当前位置信息
- Android开发之GPS获取当前位置信息
- android通过gps获取到当前位置
- 当前位置: GPS报 > GPS学院 > GPS资料 > A-GPS与GPS的区别及知识详解
- Android中通过GPS或NetWork获取当前位置的经纬度
- Android Google Map学习二(接受位置更新信息)
- 使用Android原生的Api进行GPS定位获取位置信息
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Android——GPS定为当前位置
- Android 定位自己当前位置信息
- android中利用GPS获取位置信息的源码分析
- Android Service获取当前位置(GPS+基站)
- Android打开GPS导航并获取位置信息返回null解决方案
- Android 打开 GPS 导航并获取位置信息
- 通过GPS数据反向地理信息编码, 得到当前位置信息
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Android GPS应用:动态获取位置信息