首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iphone -对地理围栏的质疑

iphone -对地理围栏的质疑
EN

Stack Overflow用户
提问于 2012-03-31 19:24:49
回答 2查看 4.2K关注 0票数 7

我听说过地理围栏,我有一些疑问。希望你能回答其中一些问题。

-这是iOS 5.1的新特性,但是地理围栏和使用区域有什么区别呢?从我所读到的几乎是一样的,电池消耗?

-Why我找不到关于地理围栏的苹果文档吗?

-How您是否定义了区域?我可以通过webservice远程添加它们吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-18 23:16:51

地理栅栏实际上从iOS 4开始就存在了,你可以在Apple Location Awareness Programming Guide中找到关于它的文档。它也被称为“区域监控”。

这些区域使用起来非常简单。使用中心点(经度、经度)、半径和唯一标识符创建CLRegion。然后调用-startMonitoringForRegion。当然,您需要注册一个CLLocationManagerDelegate来侦听回调、-didEnterRegion-didExitRegion,但这也很容易做到。

您无法远程添加它们。只能从设备上获取。在过去的几年里,我学到了一些关于它们的东西。因此,希望这将为您省去一些麻烦。

  • 并非所有设备都可以监控区域,因此请确保检查availability
  • There是否为最小和最大区域大小。如果您注册的区域超过或低于这些值,它将默认为最小/最大值。最小值是100米,最大值大约是地球大小的1/3。非常大。
  • 有一个设备可以监控的区域的最大数量。这个区域的“池”被所有应用程序共享,旧的围栏将被清除,以便为新的围栏腾出空间。所以要为此做好准备。最大值接近100。但在存折应用,提醒和其他应用之间共享...
  • 确保你只有一个位置管理器代理的实例,多个实例会让你调用多个代理,它们都在监听。

Geofences是一种很好的方式,可以为位置添加功能,而不需要任何主动GPS和位置跟踪的开销。在我的经验中,当所有时间都处于开启状态时,geofences不会造成明显的电池耗尽。苹果已经很好地解决了这些问题。它们没有现役GPS那样精确,但它们足够接近了。祝好运。

更新这里的一些信息现在有点过时了。您现在可以监控的区域数量是20个,并且每个应用程序都有上限。此外,最小大小不是100M,它可以更小,但在较小的数字时不能保证精度。

票数 11
EN

Stack Overflow用户

发布于 2013-07-23 03:16:50

自从iOS 4以“区域监控”的形式出现以来,“地理围栏”就一直存在。它使用距离检查来查看您是否进入了一个圆。这不是真正的地理围栏,因为真正的地理围栏是检查点是否落在多边形中(称为多边形中的点)。

在iOS 6中,目前还没有类似于使用多边形中的点的区域监控。要进行真正的地理围栏,您必须结合使用区域监控和GPS。没有关于地理围栏的苹果文档,因为CoreLocation不支持它。

如果你打算采用点在多边形中的方法,我推荐光线投射。有一个Objective-C类可以很好地实现它。它被称为objc-BorderPatrol

至于从web服务发送栅栏,也许可以做一些类似于Twitter的流API的事情,但这可能太密集了。最好使用重要的位置来更新你的栅栏。如果您打算从web服务发送栅栏,我建议您使用MySQLPostGRE SQL,因为它们都有非常好的地理空间扩展。

几点注意事项:任何CoreLocation对象都不会调用-> -[CLRegion containsCoordinate:]。所有的距离检查都是内部的。->重要位置每500米或5分钟更新一次,以先到者为准。重要位置使用来自基站的IP地址来确定位置。-> Geofence和区域可以重叠,请跟踪这一点。

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

https://stackoverflow.com/questions/9955451

复制
相关文章

相似问题

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