首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以只使用区域监控+ GSM并获得不超过5 km的horizontalAccuracy?

是否可以只使用区域监控+ GSM并获得不超过5 km的horizontalAccuracy?
EN

Stack Overflow用户
提问于 2011-11-07 16:28:48
回答 1查看 2.1K关注 0票数 5

我想分享我的测试场景信息,并请您分享您在地域监控方面的经验。因此,我注册了两个相对的区域(A和B),半径为5公里,desiredAccuracy为1公里,它们之间的距离为20公里。然而,在从A到B的旅途中,我没有收到任何didEnterRegion/didExitRegion事件。在我的应用原型中,我还放置了两个按钮(用于测试目的):一个开始重大更改,另一个标准位置监控。两者都在屏幕日志中打印didUpdateToLocation事件。

因此,在到达区域B的中心并对不可预测的功能感到非常恼火之后,我启用了重要的监控。在那之后,我收到了几个horizontalAccuracy为8.5 km的didUpdateToLocation!哇,这很痛苦,因为我想做的就是有一个功能,用户将被通知,他想要的地方是距离他的当前位置半径5公里的某个地方,我只想依靠GSM小区三角位置检测方法(为了节省电池)。

所以,回到我的案例。在得到如此大的8公里误差后,我启用了最佳精度(GPS)的标准监控。答对了,我已经收到了水平精度为399米的didUpdateToLocation事件,只有在那时,我才收到了来自我的初始位置(区域A)的didExitRegion,以及另一个具有didEnterRegion (B)的事件。另一个来自didUpdateToLocation的更新,更准确一点- 50m。

在以前的场景中,我也得到了不稳定的准确性。有时有4公里的horizontalAccuracy,有时更少。但主要的问题是,如果我们想保护电池(苹果在文档中告诉我们这一点),那么我们只能依靠区域监控+ GSM而不使用GPS吗?有一个苹果代码的示例,其中包含“区域监控的正确使用”(here),但是其中有一些不可接受的东西:

1)他们声明示例代码仅适用于iPhone4,尽管苹果文档声明在iOS4.0+上同时支持区域监控和重要监控。很酷,哈?

2)示例代码使用了全部3种定位方法:重大、标准、区域。它一直使用区域监控,但除此之外,它还使用了精度最高的标准位置。当应用程序进入后台时,它会停止标准,并开始重大变化监控。当进入前台时,应用程序停止显着,并开始标准位置。苹果的文档似乎相当模糊,如果我们只使用区域监控,我们会受到什么样的惩罚(horizontalAccuracy)还不清楚,还是我们必须总是使用所有三种方法?

3)苹果文档指出,我们需要保存电池,并根据需要使用最低限度的定位服务,如果我们不需要GPS,那么我们应该使用GSM (例如,1-3公里所需的精度)。但是对于区域监控和标准监控(当应用程序在前台时),示例代码都使用了最佳期望精度(GPS)。我确实知道GPS可以解决我所有的误差和精度问题,但是如果只使用GSM呢?在我的场景中获得8.5 km的horizontalAccuracy后,我不确定是否可以使用区域监控,因为它无法提供至少5 km的可接受误差。

EN

回答 1

Stack Overflow用户

发布于 2011-11-16 01:16:25

在我的经验中,区域监控相当准确,而不会对电池寿命造成重大损失。我有一个只有30-50米宽的区域的使用场景。在准确性方面没有任何问题。我要说的一件事是,我只针对iPhone 4及以上的设备。如果我想支持3GS模型,我将需要实现您所说的一些更改。

当完全依赖于-startMonitoringForRegion时,您的更新会自动触发-didEnter和-didExit事件。这些是通过位置跟踪事件的组合触发的。重大变化,手机发射塔传输,连接到WiFi,另一个应用程序请求位置,以及其他一些问题。当从这些其他共享位置事件触发回调时,操作系统进行处理。根据我的经验,它是非常准确的。但这只适用于iPhone 4和更高版本。

我还使用了Apple的示例应用程序来进行设置,但文档中没有太多关于何时/在哪里触发的细节。你可以在Location Awareness Guide. Hope上阅读苹果提供的内容,这对你有帮助。

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

https://stackoverflow.com/questions/8034201

复制
相关文章

相似问题

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