MKMapPoint 不可转换为 Void 错误
MKMapPoint is not convertible to Void error
我试图从坐标列表中在 MKMapView 上绘制一条路径,但出现两个错误。
这是代码(错误行有注释):
var routes = [CoordVO]();
routes.append(pn)
routes.appe...
var a = UInt(sizeof(CLLocationCoordinate2D)) * UInt(routes.count)
var pointArr = malloc(a)
for var idx = 0; idx < routes.count; idx++ {
var obj = routes[idx]
var workingCoordinate:CLLocationCoordinate2D!
workingCoordinate.latitude=obj.lat
workingCoordinate.longitude=obj.lng
var point = MKMapPointForCoordinate(workingCoordinate)
pointArr[idx] = point; // MKMapPoint is not convertible to Void
}
var routeLine = MKPolyline(points: pointArr, count: routes.count) // Void is not identical to MKMapPoint
self.mapView.addOverlay(routeLine)
free(pointArr);
查看MKPolyline
init方法的定义:
init!(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int)
它需要一个 UnsafeMutablePointer<MKMapPoint>
,但是您使用 malloc
创建了一个 UnsafeMutablePointer<Void>
,这导致了问题。
我试图从坐标列表中在 MKMapView 上绘制一条路径,但出现两个错误。
这是代码(错误行有注释):
var routes = [CoordVO]();
routes.append(pn)
routes.appe...
var a = UInt(sizeof(CLLocationCoordinate2D)) * UInt(routes.count)
var pointArr = malloc(a)
for var idx = 0; idx < routes.count; idx++ {
var obj = routes[idx]
var workingCoordinate:CLLocationCoordinate2D!
workingCoordinate.latitude=obj.lat
workingCoordinate.longitude=obj.lng
var point = MKMapPointForCoordinate(workingCoordinate)
pointArr[idx] = point; // MKMapPoint is not convertible to Void
}
var routeLine = MKPolyline(points: pointArr, count: routes.count) // Void is not identical to MKMapPoint
self.mapView.addOverlay(routeLine)
free(pointArr);
查看MKPolyline
init方法的定义:
init!(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int)
它需要一个 UnsafeMutablePointer<MKMapPoint>
,但是您使用 malloc
创建了一个 UnsafeMutablePointer<Void>
,这导致了问题。