绘制拉伸并旋转的图像

时间:2019-09-02 08:31:36

标签: swift mapkit core-graphics

我正在尝试在MapKit上模拟相同的后续图像。我从服务器通过左上,右上,左下和右下4 CLLocationCoordinate2D点获得了一张图像。

Web map

但是当我将图像逐层放置在mapkit上时,图像没有旋转和拉伸。只需沿X轴站立,如下图:

MapKit

洋红色线是我根据这4个点制成的多边形。似乎只是左上角是正确的。

我使用以下代码在地图上绘制图像:

class DeviceSetupImageOverlayView: MKOverlayRenderer {
    var overlayImage: UIImage

    init(overlay: MKOverlay, overlayImage: UIImage) {
        self.overlayImage = overlayImage
        super.init(overlay: overlay)
    }

    override func draw(_ mapRect: MKMapRect, zoomScale: MKZoomScale, in context: CGContext) {
        guard let imageReference = overlayImage.cgImage else { return }

        let rect = self.rect(for: overlay.boundingMapRect)
        context.scaleBy(x: 1.0, y: -1.0)
        context.translateBy(x: 0.0, y: -rect.size.height)
        context.draw(imageReference, in: rect)
    }
}

感谢您的时间。

0 个答案:

没有答案