MKPolyline'ın bu garip render davranışını göstermek için çok basit bir View Controller var. Özel bir şey değil sadece normal API çağırır.MKPolyline garip görüntü oluşturma ile yakınlaştırma MapKit
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: &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) -> MKOverlayRenderer {
let r = MKPolylineRenderer(overlay: overlay)
r.strokeColor = UIColor.blue
return r
}
}
Çoklu çizginin oluşturulması çok garip. Yakınlaştırma ve kaydırma sırasında bazı eserler görebilirsiniz. Bazı uzaklaştırma sonra
Bu nasıl düzeltmek için tekrar yakınlaştırarak sonra
:
Aşağıdaki resimlerde bir göz atın? Kendi rendererimi uygulamaya çalışıyordum ama aynı durum. Overaly gibi önbelleğe alınır ve zamanında yeniden çizilmez. Ben iOS 10, iPhone 6, iOS SDK 10 Xcode gelen Simülatörü üzerinde çalışıyorum 8.
Bu cevaba bakın http://stackoverflow.com/questions/20601768/mkpolylinerenderer-produces-jagged-unequal-paths – doogi
Aynı sorunu yaşadım ve bunu düzeltdim: http://stackoverflow.com/questions/40087736/ios- 10-mapkit-önceki katman-zoom-issue – fatinho
Bu sorun için uygun bir çözüm yok ve çözüm bulamadı. başka birisi ? – Kumar