问题在下面讨论:
1:用户可以使用带有触发距离和地址的应用程序注册多个事件。
如何在用户附近,离开或越过已注册的活动场所时,根据位置触发多个事件。
我必须管理事件并提醒他。
我正在使用CLLocationManger委托方法didUpdateLocation来跟踪位置距离
请帮帮我
答案 0 :(得分:1)
在Location Awareness Programming Guide中广泛解释了对iOS的iOS原生支持。当您浏览它时,您会发现didUpdateLocation
只是跟踪用户位置的一步。
尽管如此,还有许多其他步骤:
[locationManager startUpdatingLocation]
- 触发位置管理器以开始监控位置更新。
didUpdateLocations
- 代表接收有关位置更新的通知。请注意,您的方法didUpdateLocation
对版本< iOS 6。
[locationManager startMonitoringSignificantLocationChanges]
- 触发位置更新事件,以便实现准确的监控并节省电力。
Region monitoring - 这就是你想要的地理围栏要求。
regionMonitoringAvailable
决定硬件是否支持监控基于形状的区域。startMonitoringForRegion
方法开始监控特定区域。stopMonitoringForRegion
会停止监控某个地区。也就是说,有许多第三方iOS sdk提供商为您的iOS应用中的区域监控提供高级支持。 Geoloqi和Parse是其中两个。您可以访问他们的api页面,了解更多关于他们的监控是多么简单或复杂,并根据定价,复杂性等进行选择。
答案 1 :(得分:0)
Nirav给了你一个很好的概述,包括在API中,我更专注于你在苹果文档中找不到的东西:
要检测地理区域的进入和离开,您可以使用
圆形,矩形和闭合多边形。
您可以使用该地理区域的纬度,经度坐标存储它们。
检测输入事件:
如果当前位置状态从外部区域变为内部区域。
检测离开事件:
如果当前位置状态从内部变为外部区域。
calculate inside:
Inside Polygon:在Stackoverflow上搜索多边形算法中的点
内部矩形:使用API
内圈:使用API:从位置到圆心的距离<半径