Ajouter le titre d'une annotation

Bonjour, j’ai créé des carte avec des points spécifiques selon une activité, matérialisés avec des images. quand on clique sur le picto du point, son nom apparait et permet d’atteindre le détail de ce lieu.
ma question est la suivante : je voudrais également le nom sous le picto visible à l’affichage de la carte, avant de cliquer dessus.
est ce quelqu’un à une idée. merci

Mon viewContoller:

 func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) {
    let pageDecouverte = listeDesPoints[view.tag]
    selectedLieuDecouverte = pageDecouverte
    self.performSegue(withIdentifier: "showPageDecouverte", sender: nil)
}


func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView?
{
    if !(annotation is MKPointAnnotation) {
        return nil
    }
    
    let annotationIdentifier = "location"
    var annotationView = carteRegion.dequeueReusableAnnotationView(withIdentifier: (annotationIdentifier))
    
    
    if annotationView == nil {
        annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: annotationIdentifier)
        annotationView!.canShowCallout = true
    }
    else {
        annotationView!.annotation = annotation
    }
    
    if annotation is MyAnnotation {
        let imageName = (annotation as! MyAnnotation).imageName
        annotationView?.tag = (annotation as! MyAnnotation).tag
        if imageName != nil{
            let interetImage = UIImage(named: imageName!)
            annotationView!.image = interetImage
            
        }
        
    }
    annotationView?.clusteringIdentifier = annotationIdentifier
    annotationView?.canShowCallout = true
    annotationView?.rightCalloutAccessoryView = UIButton(type:.detailDisclosure)
    return annotationView
    
    
}

}

Ma classe MKPointAnnotation:

import UIKit
import MapKit
import Parse

class MyAnnotation: MKPointAnnotation {

var imageName: String?
var annotationTitle: String?
var tag : Int = 0
var pageDecouverte:PFPageDecouverte?

}

Salut,

déjà tu devrais remplacer ce if par un guard let, ça simplifierait le reste de ton code :

guard let annotation = annotation as? MKPointAnnotation else { return nil }

Du coup dans le reste de la fonction ta variable annotation a le bon type et tu n’auras plus besoin de cast

Pour ce qui est de ton titre, je ne pense pas que MKAnnotationView puisse afficher un titre en plus de l’image. Tu dois créer ta propre annotation view pour ça, ou utiliser une sous classe qui le gère comme par exemple MKMarkerAnnotationView

Bonjour, merci pour les conseils . j’avais essayer de faire le MKMarkerAnnotationView, en suivant ton cours mais sans succès.