Я запрограммировал первую часть создания карты, ее отображения и вращения с помощью компаса.
Код: Выделить всё
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingHeading()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func locationManager(manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
let rotation: Double = newHeading.magneticHeading * 3.14159 / 180
//let point: CGPoint = CGPointMake(0, -23)
print(rotation)
mapView.transform = CGAffineTransformMakeRotation(-CGFloat(rotation))
}

Проблема в том, как он отображается.
Проблема 1: При повороте появляются белые пятна пустое место, и это потому, что моя карта не масштабируется до размера экрана. Как я могу решить эту проблему?
Проблема 2: Вращение очень странное. Есть ли способ сделать это более плавным?
Подробнее здесь: https://stackoverflow.com/questions/365 ... -apple-map
Мобильная версия