Изображение MKOverlay поворачивается в MKMapView в Swift

#ios #swift #iphone #mkmapview #mkoverlay

Вопрос:

Я использую MKOverlay для рисования изображения по 4 широтным/длинным точкам

Но не уверен, что изображение будет повернуто. Смотрите изображение платы поверх MKMapView. Это изображение на доске корзины должно быть вписано в координаты A, B, C, D. E-координата центра.

введите описание изображения здесь

вот код

 let upperleft = MKMapPoint(b.coordinate)
let lowerRight = MKMapPoint(d.coordinate)
let mapRect = MKMapRect(x: fmin(upperleft.x,lowerRight.x), y: fmin(upperleft.y,lowerRight.y), width: fabs(upperleft.x-lowerRight.x), height: fabs(upperleft.y-lowerRight.y));
let overlay = ImageOverlay(image: #imageLiteral(resourceName: "blank_court"), rect: mapRect, center: center.coordinate)
mapView.addOverlay(overlay)
 

Здесь определен класс

 class ImageOverlay : NSObject, MKOverlay {
    var coordinate: CLLocationCoordinate2D
    let image:UIImage
    let boundingMapRect: MKMapRect
    
    init(image: UIImage, rect: MKMapRect, center: CLLocationCoordinate2D) {
        self.image = image
        self.boundingMapRect = rect
        self.coordinate = center
    }
}

class ImageOverlayRenderer : MKOverlayRenderer {
    
    override func draw(_ mapRect: MKMapRect, zoomScale: MKZoomScale, in context: CGContext) {
        
        guard let overlay = self.overlay as? ImageOverlay else {
            return
        }
        
        let rect = self.rect(for: overlay.boundingMapRect)
        UIGraphicsPushContext(context)
        overlay.image.draw(in: rect)
        UIGraphicsPopContext()
    }
}
 

Комментарии:

1. A-верхний левый, а C-нижний правый

2. Да, ТониМкену, я уже пробовал с A и C, а также. Но не повезло