1

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

0 回答 0