Je viens d' aider quelqu'un d' autre dans cet objectif c, mais je suis sûr que le concept est le même avec mono. Vous devez créer un objet MKAnnotationView personnalisé et passer outre la GetViewForAnnotation méthode (viewForAnnotation dans obj-c) de votre classe MKMapViewDelegate ... consultez l'autre question .
Lorsque vous créez votre commande MKAnnotationView objet est essentiellement un UIView fait pour les annotations de la carte ... vous pouvez simplement ajouter votre bouton et d'autres informations à la vue et il apparaîtra lorsque l'utilisateur touche l'annotation.
Voici un code approximatif pour la méthode déléguée:
public override MKAnnotationView GetViewForAnnotation(
MKMapView mapView,NSObject annotation) {
var annotationId = "location";
var annotationView = mapView.DequeueReusableAnnotation(annotationId);
if (annotationView == null) {
// create new annotation
annotationView = new CustomAnnotationView(annotation, annotationId);
}
else {
annotationView.annotation = annotation;
}
annotation.CanShowCallout = true;
// setup other info for view
// ..........
return annotationView;
}
}