2016-11-29 4 views
19

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

enter image description here

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 
    } 
+1

In meinem Fall bekomme ich einen netten Kreis. Sind Sie sicher, dass kein Zeichencode dazwischen ausgeführt wurde? – Ramis

+1

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

+1

Findet das nur im Simulator statt? –

Antwort

Verwandte Themen