In seltenen Fällen bekommt das Overlay auf meiner Karte (kleiner blauer Punkt) eine seltsame Blendung (großer blauer Bereich rechts) (wie im Bild zu sehen). Manchmal wird durch das Vergrößern oder Verkleinern behoben, aber nicht immer. Ich kann nichts finden, warum das passieren würde. Hat es etwas damit zu tun, wie es gerendert wird?Swift MKMapView Polygon Overlay Glitching
func drawLocations(_ loc: CLLocation)
{
let center = CLLocationCoordinate2D(latitude: loc.coordinate.latitude, longitude: loc.coordinate.longitude)
let lat: CLLocationDegrees = center.latitude
let long: CLLocationDegrees = center.longitude
var points = [CLLocationCoordinate2DMake(lat,long),CLLocationCoordinate2DMake(lat,long),CLLocationCoordinate2DMake(lat,long),CLLocationCoordinate2DMake(lat,long)]
let polygon = MKPolygon(coordinates: &points, count: points.count)
DispatchQueue.main.async(execute: {
self.mapView.add(polygon)
})
}
func mapView(_ mapView: MKMapView!, rendererFor overlay: MKOverlay!) -> MKOverlayRenderer!
{
if overlay is MKPolygon
{
let polygonView = MKPolygonRenderer(overlay: overlay)
polygonView.lineWidth = 4
polygonView.strokeColor = UIColor(red: 30/255.0, green: 12/255.0, blue: 242/255.0, alpha: 0.4)
return polygonView
}
return nil
}
In meinem Fall bekomme ich einen netten Kreis. Sind Sie sicher, dass kein Zeichencode dazwischen ausgeführt wurde? – Ramis
Das ist die einzige Methode, wo ich Zeichencode habe. Es scheint zufällig zu sein. Meistens ist es in Ordnung, passiert aber offener, wenn ich mehr Punkte auf den Bildschirm setze. @ramis – Steve
Findet das nur im Simulator statt? –