CLLocationManager最后一个已知位置

要获取最后一次了解的地理位置,我有:

CLLocationManager * locationManager = [[CLLocationManager alloc] init];
CLLocation * lastKnownLocation = [locationManager location];

lastKnownLocation是否反映了我的应用程序被回调的最后一个位置,还是反映了全局iOS系统级别的最后一个位置(其他应用程序或iOS可能查询的位置)?

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

如果用户没有授予访问位置权限,显然lastKnownLocation应该为零。 我的问题特别针对用户已授予我的应用访问位置权限的情况。


一般情况下,除非您检查其准确性和时间戳(与您的要求相比),否则不应简单地依赖从location返回的现有(如果有)值。 最好启动startUpdatingLocation直到获得符合准确性要求的位置,然后stopUpdatingLocation或切换到stopMonitoringSignificantLocationChanges (如果可用)。

从位置返回的location非常依赖于历史记录,因此您不能确定会以某种方式说出。 你总是需要验证你的目的的准确性。

链接地址: http://www.djcxy.com/p/19679.html

上一篇: CLLocationManager last known location

下一篇: Get View from custom Preference