Я разработал приложение для Android, для хранения местоположения пользователя GPS.
Один из моих клиентов дал мне свое устройство, и я заметил, что иногда точность устройства действительно плохая и невероятная. Иногда устройство возвращает точки около 200 километров от фактического местоположения.
Вы можете увидеть это в следующих образцах местоположения GPS для этого устройства. Вы видите, что две точки находятся примерно в 200 км от реального места.
Устройство Samsung SM-T111 с Android 4.2.2, и я использую только провайдера GPS для получения местоположений (LocationManager.GPS_PROVIDER
).
Я хочу знать, что вызывает проблему, для такой неточности?
Я непосредственно храню полученные очки от провайдера. Это мой код в onLocationChanged
:
UPDATE
@Override
public void onLocationChanged(Location location) {
try {
if (location.getAccuracy() <= MAX_DISTANCE_TOLERANCE) {
gotLocation(new GPSLocation(location.getLatitude(),
location.getLongitude(), location.getTime(),
location.getAccuracy(),
location.getProvider(), location.getSpeed()));
}
} catch (Exception e) {
MessageBox.showExceptionToast(_context, e);
}
}