MKPolyline strange rendering related with zooming in MapKit
<p>I have very simple View Controller to demonstrate this strange rendering behavior of MKPolyline. Nothing special just normal api calls.</p>

<pre><code>import UIKit
import MapKit

class ViewController: UIViewController, MKMapViewDelegate {

    @IBOutlet weak var map: MKMapView!

    override func viewDidLoad() {
        super.viewDidLoad()
        map.delegate = self
    }

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        let p1 = CLLocationCoordinate2D(latitude: 51, longitude: 13)
        var coords = [
            p1,
            CLLocationCoordinate2D(latitude: 51.1, longitude: 13),
            CLLocationCoordinate2D(latitude: 51.2, longitude: 13),
            CLLocationCoordinate2D(latitude: 51.3, longitude: 13)
        ]

        let polyline = MKPolyline(coordinates: &amp;coords, count: coords.count)
        map.addOverlays([polyline], level: .aboveRoads)
        let cam = MKMapCamera(lookingAtCenter: p1, fromDistance: 1000, pitch: 45, heading: 0)
        map.setCamera(cam, animated: true)
    }

    func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -&gt; MKOverlayRenderer {
        let r = MKPolylineRenderer(overlay: overlay)
        r.strokeColor = UIColor.blue
        return r
    }
}
</code></pre>

<p>The rendering of the polyline is very strange. During zooming and panning You can see some artifacts.</p>

<p>Take a look at pictures below:</p>

<p>Initial Screen
<a href="https://i.stack.imgur.com/9eyNF.png" rel="noreferrer"><img src="https://i.stack.imgur.com/9eyNF.png" alt="Initial Screen"></a></p>

<p>After some panning
<a href="https://i.stack.imgur.com/zUCzm.png" rel="noreferrer"><img src="https://i.stack.imgur.com/zUCzm.png" alt="After some panning"></a></p>

<p>After zooming out and zooming in again
<a href="https://i.stack.imgur.com/uLZbK.png" rel="noreferrer"><img src="https://i.stack.imgur.com/uLZbK.png" alt="After zooming out and zooming in again"></a></p>

<p>How to fix this? I was trying to implement my own renderer but its the same situation. Like overaly is cached and it's not redrawing on time. I'm working on iOS 10, iPhone 6, Simulator from iOS SDK 10 xCode 8.</p>