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()

iOS 13 检查 CLLocationManager 的临时授权状态

iOS CLLocationManager 定位

cllocationmanager不要求用户权限ios8

IOS 8 CLLocationManager 问题(授权不起作用)