微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – CLLocationManager最后一个已知位置

为了得到最后知道的地理位置,我有
CLLocationManager * locationManager = [[CLLocationManager alloc] init];
CLLocation * lastKNownLocation = [locationManager location];

lastKNownLocation是否反映了我的应用程序被回调的最后位置,或者它是否反映了全球iOS系统级别的最后位置(其他应用程序或iOS可能查询过的位置)?

我这样做而不是主动查询用户的位置,所以我不浪费用户的电池.

如果用户未授予访问位置的权限,则显然lastKNownLocation应为nil.我的问题是专门针对用户授予我的应用程序访问位置权限的情况.

解决方法

通常,您不应该简单地依赖从位置返回的现有(如果有)值,除非您检查其准确性和时间戳(与您的要求相比).最好先启动startUpdatingLocation,直到获得符合精度要求的位置,然后再调用stopUpdatingLocation或切换到stopMonitoringSignificantLocationChanges(如果可用).

从位置返回的位置非常依赖于历史记录,所以你不能肯定地说出它将会是这样或那样的.您始终需要验证准确性以达到您的目的.

原文地址:https://www.jb51.cc/iOS/333798.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐