我试图在地图上将三角形显示为MKPolygon。到目前为止,我还没有非常使用swift,可能会遗漏一些非常明显的观点。
创建叠加层并致电map.addOverlay()
后,mapView(mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!)
和mapView(mapView: MKMapView!, viewForOverlay overlay: MKOverlay!)
都不会被调用。我在这里错过了什么吗? PS:为了简单起见,我省略了任何错误检查。
感谢您的帮助。
我的实施如下:
func addOverlay()
{
var coordinates = [CLLocationCoordinate2DMake(47.0, 8.0),CLLocationCoordinate2DMake(47.5, 8.5),CLLocationCoordinate2DMake(47.5, 7.5)]
let overlay = MKPolygon(coordinates: &coordinates, count: coordinates.count)
map.addOverlay(overlay)
}
func mapView(mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer! {
var oR = MKPolygonRenderer(overlay: overlay)
oR.strokeColor = UIColor.blackColor()
oR.fillColor = UIColor.greenColor()
return oR
}
func mapView(mapView: MKMapView!, viewForOverlay overlay: MKOverlay!) -> MKOverlayView! {
var pV = MKPolygonView(overlay: overlay)
return pV
}