我试图在MKMapView上的2个坐标之间画线,我有数组用于保持所有的poi, 所以我有这个代码
var pointArr: CMutablePointer<MKMapPoint> = nil
我的问题是如何向pointArr添加值?
答案 0 :(得分:2)
您应该能够创建一个MKMapPoint
的数组并将其分配给您的指针:
let lax = MKMapPointForCoordinate(CLLocation(latitude: 33.9424955, longitude: -118.4080684).coordinate)
let jfk = MKMapPointForCoordinate(CLLocation(latitude: 40.6397511, longitude: -73.7789256).coordinate)
var points: MKMapPoint[] = [lax, jfk]
let line = MKPolyline(points: &points, count: points.count)
请注意,CMutablePointer
期望指向可变的内容 - 如果使用points
而不是let
声明var
,则将其分配给可变指针(或传递它)到一个可变的指针参数)将无法正常工作。
有关详细信息,请参阅使用Swift with Cocoa和Objective-C 中的Pointers。