Swift MKКруглый оверлей - PullRequest
0 голосов
/ 20 мая 2018

Я пытаюсь нарисовать MKCircle вокруг аннотации карты.Я думаю, что код правильный, но не уверен, почему он не работает.Я считаю, что у меня есть весь код, необходимый для его работы.

func getPlaces(){
    let uid = Auth.auth().currentUser?.uid
    Database.database().reference().child("Businesses").child(uid!).observeSingleEvent(of: .value, with: { (snapshot) in
        // print("\(snap.value)")

        if let locationDict = snapshot.value as? [String:AnyObject]{

            let lat = Double(locationDict["businessLatitude"] as! String)
            let long = Double(locationDict["businessLongitude"] as! String)
            let center = CLLocationCoordinate2D(latitude: lat!, longitude: long!)
            let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))

            let radius = 100.0

            self.mapView!.setRegion(region, animated: true)

            let circle = MKCircle(center: center, radius: radius)

            let annotation = MKPointAnnotation()
            annotation.coordinate = region.center
            self.mapView.addAnnotation(annotation)
            self.mapView.add(circle)
        }
    })
}

func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
    let circleRenderer = MKCircleRenderer(overlay: overlay)
    circleRenderer.strokeColor = UIColor.red
    circleRenderer.lineWidth = 1.0
    return circleRenderer
}

1 Ответ

0 голосов
/ 20 мая 2018

Вы установили делегата просмотра карты?

self.mapView.delegate = self

Не забудьте протокол MKMapViewDelegate.

class ViewController: UIViewController, MKMapViewDelegate  {
    ...
}
...