MapKit을 사용하여지도에서 사용자의 방향을 보여주는 방법을 찾으려고합니다. 기본 MapKit 방법은 항상 전체지도를 회전시킵니다. 사용자 위치도 MKAnnotationView이므로 특정 클래스를 만들어서 재정의하고 특정 이미지 (화살표 사용)를 사용하기로 결정했습니다. 신속하게 MapKit을 사용하여 사용자 정의 userLocationAnnotationView 이미지를 회전하는 방법은 무엇입니까?
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))
}
는 지금은을 locationManager의 didUpdateHeading의 FUNC에 그 MKAnnotationView 이미지를 회전 할 수있는 방법을 찾기 위해 노력하고있어.
class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {
var userLocationView :MKAnnotationView?
func locationManager(manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
print(newHeading.magneticHeading)
}
newHeading.magneticHeading의 인쇄물이 꽤 정확합니다. 이제 어떻게 사용자 정의 UserLocationAnnotationView를 회전시킬 수 있습니까?
도움 주셔서 감사합니다.
고맙습니다. @ 아서! 비록 당신이 어떤 코드를 제공하지 않았더라도 정확하게 대답했고 다른 방법으로 나는 그것을 작동하게하는 길을 찾았습니다. userAnnotationView에 대한 콜 아웃 뷰가 필요하지 않으므로 두 번째 방법을 사용하기로 결정했습니다. 또한 UIView의 애니메이션 메서드 사용에 대한 마지막 조언은 큰 도움이되었습니다. 다시 한 번 고마워. – matthioo