我想在MKMapView上绘制一个半球体,知道中心坐标,起始角度和结束角度以及海里数的半径。Swift:在MKMapView中绘制半球体
使用此线程(How to draw UIBezierPath overlay on MKMapView?),我已经子类MKOverlayPathRenderer划出一道弧线:
import UIKit
import MapKit
class IGAAcarsDrawArc: MKOverlayPathRenderer
{
let PI = 3.14159265
let radius : CGFloat = 10.0
var startAngle: CGFloat = 0
var endAngle: CGFloat = 3.14159
var latitude = 25.96728611
var longitude = -80.453019440000006
override func createPath()
{
let line = MKPolyline()
let arcWidth: CGFloat = 5
let path = UIBezierPath(arcCenter: CGPointMake(CGFloat(latitude), CGFloat(longitude)),
radius: self.radius,
startAngle: startAngle,
endAngle: endAngle,
clockwise: true)
path.lineWidth = arcWidth
path.stroke()
}
}
现在,还不清楚怎么用它来创建MKPolyline并在图形页面执行(MapView类:的MKMapView, rendererForOverlay覆盖:MKOverlay)。
此主题(How to draw arc/curve line with MKOverlayView on MKMapView)也没有说明太多的问题。
有人可以帮助在MKMapView绘制弧线吗?
编辑:
这不是工作:
func mapView(mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer
{
if overlay is IGAAcarsDrawArc
{
let arcLine = IGAAcarsDrawArc(overlay: overlay)
arcLine.lineWidth = 8
arcLine.strokeColor = UIColor.magentaColor()
}
return MKPolylineRenderer()
}
非常感谢!
我发现http://stackoverflow.com/questions/12062902/how-to-add-a-uibezierpath-to-a-mkmapview-using-overlays也许它会给你一些提示 – wenqi
我发现这个职位:http ://stackoverflow.com/questions/12062902/how-to-add-a-uibezierpath-to-a-mkmapview-using-overlays也许它会给你一些提示 – wenqi