我试图了解为什么在我调用stopUpdatingLocation()后,locationManager会继续提供更新
extension ActionViewController: CLLocationManagerDelegate {
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let newLocation: CLLocation = locations.last!
print("New Location Accuracy is: \(newLocation.horizontalAccuracy)")
print("Desired Accuracy is: \(locationManager.desiredAccuracy)")
if newLocation.horizontalAccuracy < 0 {
return
}
if newLocation.horizontalAccuracy <= locationManager.desiredAccuracy {
print("We are shutting down location manager")
locationManager.stopUpdatingLocation()
currentLocation = newLocation
let camera = GMSCameraPosition.camera(withLatitude: newLocation.coordinate.latitude,
longitude: newLocation.coordinate.longitude,
zoom: zoomLevel)
...
从调试区域打印出来: 新的位置准确度是:10.0 期望的准确度是:10.0 我们正在关闭位置经理 新的位置准确度是:10.0 期望的准确度是:10.0 我们正在关闭位置经理 新的位置准确度是:10.0 期望的准确度是:10.0 我们正在关闭位置经理 新的位置准确度是:702.317035988665 期望的准确度是:10.0 新的位置准确度是:702.318123337466 期望的准确度是:10.0 新的位置准确度是:10.0 期望的准确度是:10.0 我们正在关闭位置管理员
答案 0 :(得分:0)
我花了很多时间寻找答案,我相信我已经找到了答案。显然,在调用stopUpatingLocation后,GPS天线断电需要几秒钟。有人发布说这是在WWDC讨论的。