获取用户位置的坐标(OneShotLocationManager)

时间:2016-01-15 18:17:44

标签: ios swift location

我目前正在尝试制作天气应用。它使用http://developer.forecast.io API,它接受经度和纬度坐标来查找天气。我实现了OneShotLocationManager,但我无法从中获取坐标,然后将它们与Forecast API一起使用。

这是我的代码:

var manager: OneShotLocationManager?
let coordinate: (lat: Double, long: Double) = (0,0)

override func viewDidLoad() {
    super.viewDidLoad()

    manager = OneShotLocationManager()
    manager!.fetchWithCompletion { location, error in

        // fetch location or an error
        if let loc = location {
            print(location?.coordinate.latitude)
            print(location?.coordinate.longitude)
            let coordinate: (lat: Double, long: Double) = ((location?.coordinate.latitude)!,location!.coordinate.longitude)
        } else if let err = error {
            print(err.localizedDescription)
        }

        self.manager = nil

    } }

我可以让OneShotLocationManager将坐标打印到控制台,但我无法弄清楚如何在Forecast.io中实际使用它们。对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您不再需要使用location var,因此您需要执行 if let 检查。 试试这个:

if let loc = location {
   let coordinate = (lat: loc.coordinate.latitude, long: loc.coordinate.longitude)
   // ...your web API request stuff using coordinate....
}