iOS CLLocationManager - 手动进行区域监控
Posted
技术标签:
【中文标题】iOS CLLocationManager - 手动进行区域监控【英文标题】:iOS CLLocationManager - do the region monitor manually 【发布时间】:2011-08-20 14:40:16 【问题描述】:虽然我知道区域监控只支持 iPhone4 和 iPad2,但我想用 startMonitoringSignificantLocationChanges 方法来实现它。
我有一种方法可以获取我保存的区域(带有纬度、经度和半径的地方)和我当前的位置,如果它们彼此靠近,我想返回 true。 我的问题是我如何根据我的信息(地点和当前位置的纬度、经度和半径)计算这些地方是否彼此靠近? 谢谢。
【问题讨论】:
【参考方案1】:可以做到,但您必须为该地区手动编写代码。我发现这篇文章可以帮助你。
Getting GPS location, region in background...
【讨论】:
【参考方案2】:使用distanceFromLocation:
CLLocation *current = [[CLLocation alloc] initWithLatitude:lat longitude:long];
CLLocation *target = ...
CLLocationDistance meters = [current distanceFromLocation:target];
if (meters<radius) /* you are closer than radius meters */
【讨论】:
以上是关于iOS CLLocationManager - 手动进行区域监控的主要内容,如果未能解决你的问题,请参考以下文章
[iOS][Background][CLLocationManager]地图精度不好
CLLocationManager 未在 iOS 10.2 [Swift] 中调用 didUpdateLocation()