完成更新位置管理器

时间:2016-08-02 12:36:05

标签: swift swift2 ios9 cllocationmanager

我遇到了更新位置管理器的问题。

所以这就是我想要做的。当用户进入视图时,它会询问位置信息,当用户拒绝时,我已经设置了一个我不会在此处发布的代码,因为它有效。但如果他接受我运行一个功能,我得到他的经度和经度。然后我想运行一个函数,我在其中查询API。以下代码是我做的

var tolat: Double = 0.0
var tolon: Double = 0.0
let locationManager = CLLocationManager()

   override func viewDidLoad() {
        super.viewDidLoad()


        if CLLocationManager.locationServicesEnabled() {
            locationManager.delegate = self
            locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters

            locationManager.startUpdatingLocation()

        }


        getData() { result in
            switch result {
            case .Success: self.eventsTable.reloadData()
            case .Failure(let error): break
            }
        }



}


 func getData(completion: Resulty<Void> -> Void) {
        print("the lat \(tolat) and the lon \(tolon)")
        completion(.Success())
}

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

    let locValue:CLLocationCoordinate2D = manager.location!.coordinate

    tolat = locValue.latitude
    tolon = locValue.longitude

    locationManager.stopUpdatingLocation()




}

并在视图结束后

enum Resulty<T> {
    case Success(T)
    case Failure(NSError)
}

因此它打印纬度和经度0.0。当位置纬度和经度实际上有数据时,如何使func getData运行???

0 个答案:

没有答案