MKPolyLine没有出现在Swift的MapView上
发布时间:2020-12-14 05:22:24 所属栏目:百科 来源:网络整理
导读:我在 Swift中有以下代码将MKPolyline添加到MapView. XCode没有告诉我有一个问题,据我所知,这应该是有效的. MapView的插座: @IBOutlet weak var mapView: MKMapView! 用于保持坐标的变量: var coordinates: [CLLocationCoordinate2D] = [] 从Core Data获取
我在
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |