gpt4 book ai didi

快速将 CGMutablePath 转换为 MKPolygon

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

我有一个应用程序,它允许用户绘制他们自己的地理围栏。现在它的工作方式是用户在屏幕上绘制他们的地理围栏,应用程序跟踪他们正在绘制的位置并将他们的路径存储到 CGMutablePath 中。

我的问题是如何获取此 CGMutablePath 并将其应用于 MKPolygon,以便用户手绘地理围栏可以用作 map 叠加层?

最佳答案

首先,您需要使用来自用户触摸的点来构建一个MKOverlay:

let coords = points.map({ CLLocationCoordinate2D(latitude: Double($0.x), longitude: Double($0.y)) })
let polygon = MKPolygon(coordinates: coords, count: coords.count)

您可能还需要考虑 map 的当前缩放级别,以确保屏幕上的点与纬度/经度之间的转换是正确的。

接下来,您可以将此叠加层添加到 map 中:

mapView.add(overlay)

要设置叠加层的样式(更改其颜色等),请使用 MKMapViewDelegate 方法:

func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
let renderer = MKPolygonRenderer(overlay: overlay)
renderer.fillColor = UIColor.blue
return renderer
}

关于快速将 CGMutablePath 转换为 MKPolygon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41411829/

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