Я создаю приложение, которое должно сообщать пользователям точное местоположение.Требуется только одно местоположение, т.е. мне не нужно постоянно отслеживать устройство.
Я хочу, чтобы местоположение было максимально точным, и можно подождать некоторое время, чтобы определить местоположение (максимум 1-2 минуты).
Я просматривал FusedLocationProviderClient.getLastLocation () , но, поскольку я хочу, чтобы местоположение было как можно более точным и обновленным, оно не соответствует моим потребностям.
Итак, я начал смотреть на использование FusedLocationProviderClient.requestLocationUpdates () , и это кажется лучшим выбором.
Но я не уверен, как лучше настроить мой LocationRequest
, чтобы получить как можно более точную точность.Например, было бы лучше использовать setNumUpdates () , чтобы я получал только одно обновление и использовал его в качестве своего местоположения, или я должен получать несколько обновлений в надежде получить лучшую точность (привязка GPS к большему количествуспутники например)?Я думаю, что, если я использую второй подход, я мог бы смотреть на значение getAccuracy()
из каждого обновления местоположения и сохранять только тот, который имеет наивысшую точность.Недостатком является то, что, если устройство движется, и я продолжаю получать обновления в течение минуты или около того, первое местоположение может иметь самую высокую точность, но, поскольку это минута, это уже не точно.
Как указано вышеМне нужно только одно очень точное местоположение, и приложение может подождать 1-2 минуты, если это необходимо.Какой подход лучше всего подходит для такого сценария?