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?
}