首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android Location.getAccuracy()返回1

Android Location.getAccuracy()返回1
EN

Stack Overflow用户
提问于 2010-11-14 06:19:28
回答 4查看 8.7K关注 0票数 9

我正在尝试使用Location.getAccuracy()获得我目前的全球定位系统的精度。然而,这是返回1(有时是2),这似乎是不可能的。谷歌地图告诉我,我目前的定位精度是40米。

有什么想法吗?

代码语言:javascript
运行
复制
int accuracy = (int) loc.getAccuracy();
// This will give me accuracy = 1
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-14 06:25:02

documentation of getAccuracy

以米为单位返回修复的精度。

为什么这看起来不可能呢?对于GPS来说,返回值为1,有时是2米就足够了。有了良好的信号强度,并锁定在多个卫星上,你可以获得这种准确性。

(此外,由于您将地板的值强制转换为int。例如,精度实际上可以是1.9米。)

票数 8
EN

Stack Overflow用户

发布于 2012-06-07 08:37:35

是否可能是在LocationProvider上调用getAccuracy(),而不是在位置上调用?从文档中:

代码语言:javascript
运行
复制
public abstract int getAccuracy ()

API this: Level 1返回一个描述此提供程序的水平精度的常量。如果提供程序返回更细的粒度或精确的位置,则返回ACCURACY_FINE,否则,如果位置仅是近似的,则返回ACCURACY_COARSE

其中,ACCURACY_FINEACCURACY_COARSE定义为:

代码语言:javascript
运行
复制
public static final int ACCURACY_COARSE

API级别1表示近似精度要求的常量

代码语言:javascript
运行
复制
Constant Value: 2 (0x00000002)
public static final int ACCURACY_FINE

自: API级别1指示更精细的定位精度要求的常量

代码语言:javascript
运行
复制
Constant Value: 1 (0x00000001)
票数 3
EN

Stack Overflow用户

发布于 2010-11-14 06:56:45

40米看起来更像是蜂窝网络的精确度,但不是GPS。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4175046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档