Расположение приложения Android со скоростью - PullRequest
1 голос
/ 05 ноября 2011

Я делаю приложение для 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();
    }

1 Ответ

2 голосов
/ 05 ноября 2011

Вы используете пустой критерий. Если вы хотите большей точности, попробуйте это:

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();
}
...