我正在尝试在地图上将三角形显示为 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
}