Точность местоположения - PullRequest
       60

Точность местоположения

0 голосов
/ 23 января 2020

В моем приложении мне нужно прочитать местоположение пользователя. Самое главное - это точность.

Я использовал для этого LocationManager и getLastKnowLocation.

Иногда это дает точный результат, иногда нет, я не знаю почему!

Поэтому мой вопрос:

  1. Нужно ли запускать службу в фоновом режиме, которая отслеживает изменения в расположении, поэтому, как только я вызову getLastKnowLocation, это даст лучший результат или нет?

  2. Как приложения, такие как Uber, всегда правильно определяют местоположение? что они используют?

1 Ответ

0 голосов
/ 23 января 2020

Вам нужно использовать LocationListener из GoogleMapsApi, чтобы получить текущую позицию каждого изменения.

LocationListener listener = new LocationListener() {
            @Override
            public void onLocationChanged(Location location) {

            }

            @Override
            public void onStatusChanged(String s, int i, Bundle bundle) {

            }

            @Override
            public void onProviderEnabled(String s) {

            }

            @Override
            public void onProviderDisabled(String s) {

            }
        };

При каждом изменении местоположения слушатель будет вызывать void onLocationChanged(Location location). С помощью Location вы можете получить широту и долготу позиции.

...