I am trying to change the initial zoom location of my MapView. I want the initialLocation to be (35,35) if myLocation == false and get the current Location if true. But startUpdatingLocation is finished after the initialLocation , so I cant get it and it crashes. If I use a breakpoint it works and gets the values.
if self.myLocation == false {
            self.initialLocation = CLLocation(latitude: 35.00, longitude: 35.00) }
      else {
            locManager.delegate = self
            locManager.desiredAccuracy = kCLLocationAccuracyBest
            checkLocationAuthorizationStatus()
            locManager.startUpdatingLocation()
      self.initialLocation = CLLocation(latitude: locManager.location.coordinate.longitude, longitude: locManager.location.coordinate.longitude) 
            }
        centerMapOnLocation(self.initialLocation)
}
				
                        
You need to use the locationManager delegate:
locationManager:didUpdateLocationsto set the location.Place your
self.initialLocation=code in the delegate.Then create another function that you can call to execute your
centerMapOnLocation(self.initialLocation)code.