ios - startUpdatingLocation 返回 nil

标签 ios swift location core-location cllocationmanager

我正在尝试使用 CLLocation。每次我尝试调用 startUpdatingLocation() 方法时,当前纬度和经度的值始终为零。我在 viewDidLoad() 函数中包含了 locationManager.delegate = selflocationManager.requestWhenInUseAuthorization()

func findCurrentLocation() -> String{
    // GET LOCATION OF USER
    locationManager.desiredAccuracy = kCLLocationAccuracyBest
    dispatch_async(dispatch_get_main_queue(), {
        self.locationManager.startUpdatingLocation()
    })

    var lat = String(self.locationManager.location!.coordinate.latitude)
    var long = String(self.locationManager.location!.coordinate.longitude)

    var ll = lat + "," + long
    return ll
}

最佳答案

您无法立即读取该位置。您需要等到回调您的 didUpdateLocations 委托(delegate)方法。

如果您的目标是 iOS 9,您可以调用 requestLocation 进行一次性位置更新,但它仍然通过 didUpdateLocations 来实现

关于ios - startUpdatingLocation 返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35448700/

相关文章:

iphone - 如何在保持 UI 响应的同时以可接受的性能录制屏幕?

ios - Swift 5 无法向自定义按钮添加操作(AVPlayerViewController 中的 addTarget 问题)

arrays - 理解 Swift 中元组数组的语法

与位置比较时的 Java : Format the distances properly,

java - 我的设备上的 GPS 位置出错

android - 当我们进行 ionic 状态恢复、保存、清除和重置时,实际发生了什么?

ios - 无法使用 iOS 中的 Storyboard让 MvvmCross 工作

ios - 使用高度约束更改容器 View 的高度

ios - UITextView的限制行数

multithreading - BlackBerry-取消在另一个类中执行的线程以刷新位置