在MKMapView中的注释周围画一个圆

时间:2018-06-19 18:10:01

标签: ios swift mapkit mkoverlay

我正在尝试在注释周围画一个圆,以显示将被围栏的半径。

在ViewController上方,我有一个协议可以处理用户搜索的结果

protocol HandleMapSearch {
    func dropPinZoomIn (placemark:MKPlacemark)
    func setUpGeofencing (placemark:MKPlacemark)
    func addRadiusCircle(placemark: MKPlacemark)
}

在ViewController类中,我有一个由滑块设置的var range。 在我的viewDidLoad中,我有mapView.delegate = self 在ViewController类中,我有mapView委托函数,该函数应该有助于画出我的圆圈

func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
    if overlay is MKCircle {
        let circle = MKCircleRenderer(overlay: overlay)
        circle.strokeColor = UIColor.red
        circle.fillColor = UIColor(red: 255, green: 0, blue: 0, alpha: 0.1)
        circle.lineWidth = 1
        return circle
    } else {
        return MKPolylineRenderer()
    }
}

我的addRadiusCircle方法看起来像这样

func addRadiusCircle(placemark: MKPlacemark){
    let circle = MKCircle(center: (placemark.location!.coordinate), radius: CLLocationDistance(range))
    mapView.add(circle)
}

在测试我的应用并搜索位置时,我会在该位置的坐标处得到一个注释,但周围没有圆圈。我尝试画圆的方式是否有问题?任何帮助将不胜感激。

0 个答案:

没有答案