iOS 5 的地理围栏 API

Posted

技术标签:

【中文标题】iOS 5 的地理围栏 API【英文标题】:Geofence API for iOS 5 【发布时间】:2012-01-18 10:16:22 【问题描述】:

我想构建一个应用程序,可以在城镇中设置一定数量的地理围栏方形区域,我知道我可以通过在后台启用位置来实现这一点,并检查这些坐标以确定它们是否在我的区域内感兴趣。

但这意味着会收到来自系统的许多通知,并且会影响电池性能。

相反,我想知道是否有新的 API 或者可能即将推出的 API,可以让您设置地理围栏,并且只有在您在其中或附近时才会收到系统通知,而不是持续监控您的位置。

这可能吗?

我找到了以下问题,但找不到其他问题: http://www.quora.com/Is-the-geo-fence-functionality-built-into-ios5s-Reminders-application-available-as-a-public-facing-API

在我看来,除了跟踪 GPS 并与一系列兴趣点进行比较之外,地理围栏还有更多功能。如果我将提醒应用程序设置为提醒我今晚我必须在我进来时遛我的室友狗,那么我可以在屏幕顶部看到位置图标。

如果我打开多任务栏并删除提醒,位置图标仍然存在,表明手机正在跟踪我,但它是提醒应用程序的独立任务。

如果我设置了具有后台位置跟踪功能的应用程序,并从多任务栏中删除,则位置图标会随应用程序一起消失。这让我相信,iOS 5.x 已经或将会有一个用于地理围栏的 API,这将允许应用程序向系统发布一组坐标,并根据与这些点的接近程度接收本地通知。

是否存在类似的东西?

谢谢

未来用户更新

每个应用似乎有 10 个区域的限制,可以随时监控(我的个人测试),因为这是共享资源。

Apple Documentation 提取:

在指定 要监控的区域集。区域是共享的系统资源,并且 系统范围内可用的区域总数是有限的。

【问题讨论】:

【参考方案1】:

您应该查看CLLocationManager 上的startMonitoringForRegion:desiredAccuracy: 方法。

【讨论】:

startMonitoringForRegion:desiredAccuracy: iOS6 已弃用。现在您可以使用 startMonitoringForRegion:(CLRegion *)region

以上是关于iOS 5 的地理围栏 API的主要内容,如果未能解决你的问题,请参考以下文章

带有地理围栏的 html5 地理定位 API

如何使用 Android 地理围栏 API?

使用 html5 地理定位 api 创建地理围栏

新的 Android 地理围栏 API - 示例代码在位置时不会发出警报/通知

应用程序在后台 ios 中时地理围栏不起作用

除了 Android API 之外,还有其他用于计算地理围栏违规的 API