Android 如何获得更精确的gps定位?
我有一个应用程序,可以获取用户的gps位置。现在的问题是它有点不准确(它显示我在20-60米外的另一栋楼里) 这是我的密码Android 如何获得更精确的gps定位?,android,listview,history,Android,Listview,History,我有一个应用程序,可以获取用户的gps位置。现在的问题是它有点不准确(它显示我在20-60米外的另一栋楼里) 这是我的密码 LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_F
LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
String bestProvider = locationManager.getBestProvider(criteria,
false);
LocationListener loc_listener = new LocationListener() {
@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
}
};
try {
Looper.prepare();
locationManager.requestLocationUpdates(bestProvider, 0, 0,
loc_listener);
} catch (Exception e) {
e.printStackTrace();
}
Location location = locationManager
.getLastKnownLocation(bestProvider);
我认为我应该在发送location.getLatitude()和location.getLatitude()之前至少等待一秒钟。现在,等待时间几乎是瞬间的,但精确度非常差。我正在使用我的GPS芯片提供的每个位置更新都会有一个精度值。你应该考虑扔掉超过阈值的东西。
然而,室内GPS很难获得信号,因此,如果它甚至设法获得一个锁,精度将下降 这有一个计算提供的最佳修复的示例:您可以从其
Location.getAccuracy()
函数返回返回的位置对象的精度。