Вам придется подождать, пока LocationManager найдет местоположение. Предполагая, что вы установили CLLocationManagerDelegate, я бы добавил реализацию следующего метода. По сути, этот метод будет вызываться при обновлении местоположения. Мы развернем первое местоположение (которое в этой точке должно быть местоположением устройства) и создадим MKCoordinateRegion с центром в местоположении устройств. Вы можете поиграть со свойством span в userLocationRegion. Последнее установите регион вашего mapView в регион, который вы создали с обновленным местоположением пользователя. (Я предполагаю, что у вас есть mapView, созданный в вашем контроллере представления)
func locationManager (manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.first {
// if your userLocation hasn't been set, let's set it and update the map!
if self.userLocation == nil {
self.userLocation = location
let userLocationRegion = MKCoordinateRegion(center: location.coordinate, span: MKCoordinateSpan(latitudeDelta: 100, longitudeDelta: 100))
// set the region of your mapView
self.mapView.setRegion(MKCoordinateRegion(userLocationRegion), animated: true)
}
}
}