MKPolyLine没有出现在Swift的MapView上

我在 Swift中有以下代码将MKpolyline添加到MapView. XCode没有告诉我有一个问题,据我所知,这应该是有效的.

MapView的插座:

@IBOutlet weak var mapView: MKMapView!

用于保持坐标的变量:

var coordinates: [CLLocationCoordinate2D] = []

从Core Data获取我保存的坐标:

var contextMap = (UIApplication.sharedApplication().delegate as AppDelegate).managedobjectContext!
var requestMap = NSFetchRequest(entityName: "Locations")
let predMap = nspredicate(format: "game = %d",passedGameNumber)
requestMap.predicate = predMap
requestMap.sortDescriptors = [NSSortDescriptor(key:"time",ascending: false)]
    self.locationsList = contextMap.executeFetchRequest(requestMap,error: nil)! as [Locations]

将Core Data中的坐标添加到我的新数组中:

for index in 1..<self.locationsList.count{
    var lat = Double(self.locationsList[index].latitude)
    var long = Double(self.locationsList[index].longitude)
    var coordinatesToAppend = CLLocationCoordinate2D(latitude: lat,longitude: long)
    coordinates.append(coordinatesToAppend)
}

创建折线:

var polyLine = MKpolyline(coordinates: &coordinates,count: coordinates.count)

添加叠加层:

self.mapView.addOverlay(polyLine,level: MKOverlayLevel.AboveRoads)

将其添加到MapView:

func mapView(mapView: MKMapView!,rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer! {
    if overlay.isKindOfClass(MKpolyline) {
        // draw the track
        let polyLine = overlay
        let polyLineRenderer = MKpolylineRenderer(overlay: polyLine)
        polyLineRenderer.strokeColor = UIColor.blueColor()
        polyLineRenderer.linewidth = 2.0

        return polyLineRenderer
    }

    return nil
}

我只是得到一个空白的MapView.我可以将坐标数组打印到控制台,所以我知道数据已被添加.有任何想法吗?

正如评论中所述,问题中的代码很好.我只是没有设置代表.
mapView.delegate = self

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...