我有获取用户位置的代码。我希望用户能够按下按钮并在屏幕上看到他们的坐标。我怎么做这个,因为我不能直接调用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)
}
答案 0 :(得分:0)
由于您的locationManager变量myLat和myLong对于该函数只是本地 ,因此只需声明两个全局变量(a)由locationManager设置,(b)然后由IBAction函数提取。 / p>
答案 1 :(得分:0)
在函数外声明 myLat 和 myLong 。您可以在 locationManager()中更新这些值,这些值可以在标签中使用。