我正在尝试CLLocationCoordinate2D使用以下代码从名为 coordarray 的 2 元素数组和数字 2 初始化折线:
self.line = MKPolyline.polylineWithCoordinates(coordarray,2)
但是我收到一个错误消息
无法使用类型 ([CLLocationCoordinate2D],Int) 的参数列表调用“polylineWithCoordinates”
我检查了文档,似乎我已经传递了正确的参数列表,我错过了什么?
我正在尝试CLLocationCoordinate2D使用以下代码从名为 coordarray 的 2 元素数组和数字 2 初始化折线:
self.line = MKPolyline.polylineWithCoordinates(coordarray,2)
但是我收到一个错误消息
无法使用类型 ([CLLocationCoordinate2D],Int) 的参数列表调用“polylineWithCoordinates”
我检查了文档,似乎我已经传递了正确的参数列表,我错过了什么?
该错误消息非常具有误导性 - 检查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,页面右上角有一个控件:
