使用 MKPolygon 或 polygonWithCoordinates (Swift) 时遇到问题

Posted

技术标签:

【中文标题】使用 MKPolygon 或 polygonWithCoordinates (Swift) 时遇到问题【英文标题】:Having trouble using MKPolygon or polygonWithCoordinates (Swift) 【发布时间】:2015-04-07 06:10:28 【问题描述】:

我有点困惑,可能是 XCode 建议我应该为 MKPolygon 设置第三个参数,或者当我在第三个时只有 2 个参数。我确信它在我的格式中是另外一个小而愚蠢的东西,但是任何关于从坐标数组创建 MKPolygon 的最佳方法的帮助都会很棒!

// receive array of coordinates and update polygon of quarantine
func updateQuarantine(coords:[CLLocationCoordinate2D]) 

    let polyLine:MKPolygon = MKPolygon(coordinates: &coords, count: coords.count)           

    self.mapView.addOverlay(polyLine)  

    self.mapView.removeOverlay(quarantinePolygon)

    quarantinePolygon = polyLine

【问题讨论】:

【参考方案1】:

要将输入输出值&coords 传递给MKPolygon(), 数组必须声明为 变量 (var):

func updateQuarantine(var coords:[CLLocationCoordinate2D]) 
//             HERE ---^

    let polyLine = MKPolygon(coordinates: &coords, count: coords.count)

    // ...    

函数参数默认为常量,即好像它们 用let定义。

【讨论】:

以上是关于使用 MKPolygon 或 polygonWithCoordinates (Swift) 时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

防止 MKPolygon 打结

使用 Swift 的 MKPolygon(调用中缺少参数“interiorPolygons”的参数)

MKPolygon 中的邮政编码

Swift4 中 MKPolygon 的指定初始化程序是啥?

MKPolygon 未绘制

iOS MKPolygon 模式