GPS не обеспечивает мою долготу и широту точно Android? - PullRequest
1 голос
/ 25 октября 2010

Я использую службу определения местоположения для получения широты и долготы моего местоположения. При запуске моей программы это даст мне неправильную широту и долготу. Как я могу точно получить информацию о моем текущем местоположении?Есть ли какие-либо настройки в мобильном устройстве / устройстве?

String locationProvider = LocationManager.GPS_PROVIDER;
        if(!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER )) {
            locationProvider = LocationManager.NETWORK_PROVIDER;
        }
        Log.w(TAG,"CurrentLocProvider :"+locationProvider);

        location=locationManager.getLastKnownLocation(locationProvider);
        Log.i(TAG,"Location :"+location);
        if(location!=null){
            Log.i(TAG,"Location Lat :"+location.getLatitude());
            latitude = Double.toString(location.getLatitude());
            longitude = Double.toString(location.getLongitude());

            txtView.append("\nLatitude : "+latitude+"\n Longitude : "+longitude);
        }

Через некоторое время

public void onLocationChanged(Location location) {
Log.i(TAG,"Lat :"+location.getLatitude();
Log.i(TAG,"Long :"+location.getLongitude();


}

Также дает мне неправильное местоположение. Иногда США, В другом устройстве Китай. В другом устройстве этодает разные результаты?Как я могу получить точный результат?

Спасибо, ааре.

Ответы [ 2 ]

0 голосов
/ 25 октября 2010

Вам также следует проверить, включен ли поставщик сетевых расположений (у пользователей это можно отключить в настройках):

locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)

Или даже лучше: используйте LocationManager.PASSIVE_PROVIDER.

0 голосов
/ 25 октября 2010

Хм, очень маловероятно (но возможно) дать вам неправильные координаты - если устройство GPS не работает должным образом.

BTW - метод getLastKnownLocation может вернуть совершенно неверные данные, как описано в другом стеке потокавопрос: это местоположение может быть "устаревшим", так как метод возвращает местоположение, когда GPS использовался в последний раз.

Также посмотрите на onStatusChanged.Вы можете выводить изменения статуса GPS, чтобы лучше видеть происходящее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...