我正在制作一个 Android 应用程序,需要使用 GPS 来准确记录驾驶员统计数据,例如速度、航向、高度和经/纬度。
我需要每秒跟踪位置,但我似乎没有得到准确的结果。我试过市场上的 Android GPS 应用程序,它返回了正确的结果。
到目前为止我有这个。
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
provider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);
VehicleListener vl = new VehicleListener();
locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, vl);
if (location != null) {
System.out.println("Provider " + provider + " has been selected.");
lat =location.getLatitude();
lon = location.getLongitude();
}
最佳答案
您使用的是空条件。如果你想要更准确的尝试这个:
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
provider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);
VehicleListener vl = new VehicleListener();
locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, vl);
if (location != null) {
System.out.println("Provider " + provider + " has been selected.");
lat =location.getLatitude();
lon = location.getLongitude();
}
关于java - Android 应用位置与速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8016757/