func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let userLocation: CLLocation = locations[0]
let center = CLLocationCoordinate2D(latitude: userLocation.coordinate.latitude, longitude: userLocation.coordinate.longitude)
mylat = userLocation.coordinate.latitude
mylong = userLocation.coordinate.longitude
let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.04, longitudeDelta: 0.04))
totalMap.setRegion(region, animated: true)
}
首先......对不起我的英文写作......
我习惯了mylat
,mylong
在那个功能中。
但我想添加用户最近的位置与全局变量
我在viewDidLoad
..
实际上我需要用户location(lat,long)
和许多其他位置,
然后我用比较opration与两个位置,
我需要大部分的位置..
帮帮我
答案 0 :(得分:0)
CLLocationManager
异步工作。您可以在viewDidLoad()
中使用,但不能像您想象的那样使用。
您可以注册这样的回调:
var onLocationUpdate: ((CLLocation) -> ())?
override func viewDidLoad() {
super.viewDidLoad()
onLocationUpdate = { [weak self] location in
// do something with the location
}
}
并在onLocationUpdate?(YOUR_LOCATION)
方法
locationManager(_:didUpdateLocations:)