Я пытаюсь найти способ показать направление пользователя на карте с помощью MapKit. Настраиваемый способ MapKit, который всегда поворачивает всю карту. Поскольку позиция пользователя также является MKAnnotationView, я решил создать определенный класс, чтобы переопределить его и использовать определенное изображение (со стрелкой).Как повернуть пользовательский образ UserLocationAnnotationView с помощью MapKit в swift?
class UserLocationAnnotationView: MKAnnotationView {
override init(frame: CGRect) {
super.init(frame: frame)
}
override init(annotation: MKAnnotation!, reuseIdentifier: String!) {
super.init(annotation: annotation, reuseIdentifier: reuseIdentifier)
var frame = self.frame
frame.size = CGSizeMake(130, 130)
self.frame = frame
self.backgroundColor = UIColor.clearColor()
self.centerOffset = CGPointMake(-30, -50)
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
*/
override func drawRect(rect: CGRect) {
// Drawing code
UIImage(named: "userLocation.png")?.drawInRect(CGRectMake(65, 65, 65, 65))
}
Сейчас я пытаюсь найти способ, чтобы повернуть что MKAnnotationView изображение в didUpdateHeading FUNC в locationManager.
class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {
var userLocationView :MKAnnotationView?
func locationManager(manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
print(newHeading.magneticHeading)
}
Отпечаток новогоHeading.magneticHeading работает, и это довольно точно. Теперь, как я могу повернуть пользовательский UserLocationAnnotationView?
Благодарим за помощь.
Большое спасибо @Arthur! Даже если вы не дали никакого кода, который вы ответили точно, и с помощью разных методов я нашел способ заставить его работать. Я решил использовать второй метод, так как мне не нужен какой-либо вид выноски для userAnnotationView. Также последним советом по использованию метода анимации UIView была огромная помощь. Спасибо вам снова – matthioo