Ho solo aiutato qualcun altro con questo in Objective C, ma sono sicuro che il concetto è lo stesso con mono. È necessario creare un oggetto personalizzato MKAnnotationView e sovrascrivere il GetViewForAnnotation (viewForAnnotation in obj-c) il metodo della classe MKMapViewDelegate ... controllare l'altra domanda .
Quando si crea la vostra abitudine MKAnnotationView oggetto è fondamentalmente un UIView fatta per mappa annotazioni ... si può semplicemente aggiungere il pulsante e altre informazioni per la vista e sarà visualizzato quando l'utente preme l'annotazione.
Qui un certo codice di massima per il metodo delegato:
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;
}
}