1

我正在尝试CLLocationCoordinate2D使用以下代码从名为 coordarray 的 2 元素数组和数字 2 初始化折线:

self.line = MKPolyline.polylineWithCoordinates(coordarray,2)

但是我收到一个错误消息

无法使用类型 ([CLLocationCoordinate2D],Int) 的参数列表调用“polylineWithCoordinates”

我检查了文档,似乎我已经传递了正确的参数列表,我错过了什么?

4

1 回答 1

2

该错误消息非常具有误导性 - 检查MKPolyline的文档,实际上并没有polylineWithCoordinates为 Swift 调用静态方法,您可能正在查看文档的 Objective-C 版本*。也许您打算使用:

convenience init!(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>,
                  count count: Int)

在这种情况下,我相信您的代码需要:

// Note - coordarray is declared as var
var coordarray = // ...

self.line = MKPolyline(coordinates: &coordarray, count: 2)

这是一个链接,详细介绍了有关添加MKPolyline叠加层的更多信息:http: //mobiletoolworks.com/adding-a-mkpolyline-overlay-using-swift-to-an-ios-mapkit-map/

*要将文档从显示 Objective-C 更改为 Swift,页面右上角有一个控件:

在此处输入图像描述

于 2015-05-17T20:36:46.670 回答