显示纬度和经度的 IBAction (swift)

IBAction to display latitude and longitude (swift)

我有获取用户位置的代码。我希望用户能够按下按钮并在屏幕上看到他们的坐标。我该怎么做,因为我不能直接为按钮功能调用 myLat 或 MyLong,因为它是一个位置管理器功能。为什么这段代码不起作用?

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

    // get most recient coordinate
    let myCoor = locations[locations.count - 1]

    //get lat & long
    var myLat = myCoor.coordinate.latitude
    let myLong = myCoor.coordinate.longitude
    let myCoor2D = CLLocationCoordinate2D(latitude: myLat, longitude: myLong)

    //set span
    let myLatDelta = 0.05
    let myLongDelta = 0.05
    let mySpan = MKCoordinateSpan(latitudeDelta: myLatDelta, longitudeDelta: myLongDelta)

    let myRegion = MKCoordinateRegion(center: myCoor2D, span: mySpan)
    self.LocationManager.stopUpdatingLocation()
 }




@IBAction func coo(sender: AnyObject) {
     self.coolat.text! = String(myLat)
     self.coolong.text! = String(myLong)
}

由于您的 locationManager 变量 myLat 和 myLong 是该函数的局部,只需声明两个全局变量,(a) 由 locationManager 设置,(b) 然后由IBAction 函数。

在函数外声明 myLatmyLong。您可以在 locationManager() 中更新这些值,这些值可用于标签。