我有一个 MKMapView
,以及一组坐标,想要通过多边形连接这些坐标来绘制一个矩形。以下是我已经开始的代码。
import UIKit
import MapKit
class mapViewViewController: UIViewController {
@IBOutlet var map: MKMapView!
override func viewDidLoad() {
super.viewDidLoad()
map?.delegate=self
let startingPoint1 = ...
let startingPoint2 = ...
let endingPoint1 = ...
let endingPoint2 = ...
var coordinateInput:[CLLocationCoordinate2D]=[startingPoint1,startingPoint2,endingPoint1,endingPoint2]
let line = MKPolygon(coordinates:&coordinateInput, count:4)
map.addOverlay(line)
}
extension mapViewViewController: MKMapViewDelegate{
func map(_ map: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer{
if overlay is MKPolygon{
let renderer = MKPolygonRenderer(polygon: overlay as! MKPolygon)
renderer.fillColor=UIColor.red.withAlphaComponent(0.5)
renderer.strokeColor=UIColor.orange
renderer.lineWidth=4
return renderer
}
return MKOverlayRenderer()
}
}
我遇到的问题是启动地图视图时,如预期一样没有在地图顶部显示任何内容。我已确认我的所有坐标都是有效的,并且符合我的意图,但是我的当前设置未按预期在地图上绘制。该如何正确实现?