gpt4 book ai didi

swift - 我如何区分几个不同的 MKPolygon 叠加层,以便我可以为每个叠加层赋予不同的属性?

转载 作者:搜寻专家 更新时间:2023-11-01 07:21:07 24 4
gpt4 key购买 nike

我发现区分 MKPolygons 的唯一方法是使用 MKPolygon.version(Int: Int) 类型属性。我可以将其设置为 1、2、3 等,并为每个颜色赋予不同的颜色(例如)。我想扩展 MKPolygon 以添加标签,但 Swift 扩展无法添加存储的属性。我不习惯使用 MKPolygon.version(我应该这样吗?)。有没有更好的办法?

最佳答案

子类 MKPolygon 并将您的自定义属性放在那里:

class MyPolygon: MKPolygon {
var identifier: String?
}

然后在 mapView(_:rendererForOverlay:) 方法中,将其转换为您的类:

func mapView(_ mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer {
if let overlay = overlay as? MyPolygon {
let identifier = overlay.identifier
// Do stuffs....
}
}

(我不在 Xcode 附近,Apple 的文档站点在 Swift 2 和 Swift 3 之间来回切换,因此某些函数声明可能不匹配)

关于swift - 我如何区分几个不同的 MKPolygon 叠加层,以便我可以为每个叠加层赋予不同的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38956049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com