Android Location.getAccuracy () возвращает 1 - PullRequest
9 голосов
/ 14 ноября 2010

Я пытаюсь получить текущую точность GPS с помощью Location.getAccuracy().Однако это возвращает 1 (или иногда 2), что кажется невозможным.Карты Google сообщают мне, что моя текущая точность определения местоположения составляет 40 метров.

Ответы [ 4 ]

8 голосов
/ 14 ноября 2010

Из документации getAccuracy :

Возвращает точность исправления в метрах.

Почему нетне кажется ли это возможным?Возвращаемое значение 1, иногда 2 метра, отлично подходит для GPS.С хорошим уровнем сигнала и блокировками на нескольких спутниках вы можете получить такую ​​точность.

(Кроме того, поскольку вы применяете значение int к вашему значению. Точность на самом деле может быть дляэкземпляр 1,9 метра.)

3 голосов
/ 07 июня 2012

Возможно ли, что вы звоните getAccuracy() на LocationProvider, а не на Location? Из документов:

public abstract int getAccuracy ()

Начиная с: Уровень API 1 Возвращает константу, описывающую горизонтальную точность этого провайдера. Если поставщик возвращает более точное зерно или точное местоположение, возвращается ACCURACY_FINE, в противном случае, если местоположение является только приблизительным, возвращается ACCURACY_COARSE.

Где ACCURACY_FINE и ACCURACY_COARSE определены как:

public static final int ACCURACY_COARSE

С: Уровень API 1 Константа, указывающая приблизительное требование к точности

Constant Value: 2 (0x00000002)
public static final int ACCURACY_FINE

С: Уровень API 1 Константа, указывающая на более точное требование к точности определения местоположения

Constant Value: 1 (0x00000001)
1 голос
/ 22 февраля 2011

У меня обычно видно 6-9 спутников (Скандинавия), и я получаю около 2,0 метров для getAccuracy () - и на практике получается, что точность составляет около + | - 40 см.

1 голос
/ 14 ноября 2010

40 метров больше похоже на точность сотовой сети, но не на GPS.

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