快速将CGMutablePath转换为MKPolygon

帕特里克·迈耶(Patrick Meyer)

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

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

纳坦吉特

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

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

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

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

mapView.add(overlay)

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

快速将NSTimeInteval转换为NSDate

来自分类Dev

快速将字典值转换为类型

来自分类Dev

无法快速将NSData转换为NSString

来自分类Dev

快速将时间转换为时间

来自分类Dev

快速将AnyObject强制转换为Block

来自分类Dev

快速将数字转换为文本

来自分类Dev

如何快速将Int转换为int?

来自分类Dev

如何快速将NSURL转换为CFURL?

来自分类Dev

快速将NSData转换为sockaddr结构

来自分类Dev

快速将枚举转换为NSNumber

来自分类Dev

快速将NSNumber的对象转换为Double

来自分类Dev

如何快速将UInt转换为Int?

来自分类Dev

如何快速将PFFile转换为UIImage?

来自分类Dev

快速将[String?]转换为[String!]

来自分类Dev

快速将Int []转换为Int变量

来自分类Dev

快速将String转换为NSDate返回nil

来自分类Dev

快速将许多行转换为json字符

来自分类Dev

快速将字符转换为字符串

来自分类Dev

快速将Unix时间转换为日期和时间

来自分类Dev

快速将UIImage转换为字节数组

来自分类Dev

快速将数组转换为JSON字符串

来自分类Dev

快速将Objective-C块转换为闭包

来自分类Dev

快速将Parse.com json数组转换为Array

来自分类Dev

如何快速将熊猫数据框行转换为ordereddict

来自分类Dev

快速将String转换为CLLocationCoordinate2D

来自分类Dev

快速将因子转换为分类数据中的数字

来自分类Dev

如何快速将Int32值转换为CGFloat?

来自分类Dev

iOS:快速将UnsafeMutablePointer <Int8>转换为String?

来自分类Dev

如何快速将double转换为字节数组?