FusedLocationProviderClient возвращает неточные местоположения - PullRequest
0 голосов
/ 03 июня 2019

Я использую Google fusedlocationproviderclient для отслеживания местоположения пользователя в реальном времени на Android с помощью службы переднего плана.Я заметил, что fusedlocationproviderclient несколько раз подряд возвращает одно и то же местоположение несколько раз подряд.На данный момент я наблюдаю, что иногда возвращаемый клиенту fusedlocationproviderclient очень неточное местоположение (около 700 м) .

Ранее я раньше отслеживал местоположение с помощью Location_Services, но перешел на fusedlocationproviderclient, чтобы уменьшить потребление батареи.Я установил приоритет высокой точности в fusedlocationproviderclient.Я установил minDisplacement на 100 м.

Это мой объект местоположения

private void createLocationRequest() {
    mLocationRequest = new LocationRequest();
    mLocationRequest.setInterval(10000);
    mLocationRequest.setFastestInterval(10000);
    mLocationRequest.setSmallestDisplacement(100);
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
}

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

1 Ответ

0 голосов
/ 03 июня 2019

Я бы проверил тип разрешения местоположения, которое вы устанавливаете в своем манифесте.

У вас есть 2 доступных:

ACCESS_COARSE_LOCATION - это позволит вам получить доступ к приблизительному местоположению

ACCESS_FINE_LOCATION - это позволит вам получить точный доступ, который, я считаю,это то, что вы хотите в вашем случае.

...