У меня проблема с аннотациями на карте.Я показываю всех своих питомцев на карте как на картинкеКогда я нажимаю любую аннотацию, я хочу перейти на экран чата.Его идентификатор "chatView".Я думаю, мой код верен.Но это не работает.Даже, это не распечатка "кнопки постучал"Как я могу решить эту проблему.Вот код
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
if !(annotation is MKPointAnnotation) {
return nil
}
var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: "petIdentifier")
if annotationView == nil {
annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "petIdentifier")
annotationView!.canShowCallout = true
}else {
annotationView!.annotation = annotation
}
let pannotation : PPointAnnotation = annotation as! PPointAnnotation
let petImage : UIImageView = UIImageView()
petImage.frame = CGRect(x: -16, y: -4, width: 50, height: 50)
petImage.layer.cornerRadius = 16
petImage.layer.masksToBounds = true
petImage.clipsToBounds = true
petImage.backgroundColor = UIColor.white
petImage.sd_setImage(with: URL(string: pannotation.photoURL as String), placeholderImage: UIImage(named: "map-e-giden.png"))
annotationView?.addSubview(petImage)
annotationView?.bringSubview(toFront: petImage)
let button = UIButton(type: .detailDisclosure)
annotationView?.rightCalloutAccessoryView = button
return annotationView
}
func mapView(mapView: MKMapView!, annotationView view: MKAnnotationView!, calloutAccessoryControlTapped control: UIControl!) {
if control == view.rightCalloutAccessoryView{
print("button tapped")
performSegue(withIdentifier: "chatView", sender: view)
}
}