2

问题讨论如下:

1:用户可以使用我的应用程序使用触发距离和地址注册多个事件。

当用户在附近,离开或穿过注册的事件地点时,如何根据位置触发多个事件。

我必须管理事件并提醒他。

我正在使用 CLLocationManger 委托方法 didUpdateLocation 来跟踪位置距离

请帮我

4

2 回答 2

1

iOS 对 Location 的原生支持在Location Awareness Programming Guide中有详细解释。当您浏览它时,您会发现您didUpdateLocation只是跟踪用户位置的一步。

也就是说,还涉及许多其他步骤:

  1. [locationManager startUpdatingLocation]- 触发位置管理器开始监控位置更新。

  2. didUpdateLocations- 代表收到有关位置更新的通知。请注意,您的方法didUpdateLocation适用于 < iOS 6 的版本。

  3. [locationManager startMonitoringSignificantLocationChanges]- 触发位置更新事件,以便可以进行准确的监控并节省大量电量。

  4. 区域监控- 这是您想要的地理围栏要求。

    • regionMonitoringAvailable决定硬件是否支持监视基于形状的区域。
    • startMonitoringForRegion方法开始监视特定区域。
    • 同样,stopMonitoringForRegion停止监视区域。
    • 最后,didEnterRegiondidExitRegion为您提供所需的地理围栏触发。

也就是说,有许多第三方 iOS sdk 提供商为您的 iOS 应用程序内的区域监控提供高级支持。GeoloqiParse就是其中的两个。您可以访问他们的 api 页面以了解更多关于他们的监控是多么简单或复杂,并根据定价、复杂性等进行选择。

于 2013-03-21T12:55:59.560 回答
0

Nirav 为您提供了 API 中包含的内容的一个很好的概述,我在这里更专注于您在 Apple 文档中找不到的内容:

要检测地理区域的进入和离开,您可以使用
圆形、矩形和封闭多边形。

您将它们与该地理区域的纬度、经度坐标一起存储。

检测进入事件:
如果当前位置状态从外部区域变为内部区域。

检测离开事件:
如果当前位置状态从内部区域变为外部区域。

calculate inside:

多边形内部:在 Stackoverflow 上搜索多边形算法中的点
矩形内部:使用 API
圆形内部:使用 API:从位置到圆心的距离 < 半径

于 2013-03-21T13:08:59.210 回答