Tocmai am ajutat pe altcineva cu acest lucru în c obiectiv, dar eu sunt sigur că conceptul este același cu mono. Ai nevoie pentru a crea un MKAnnotationView obiect personalizat și suprascrie GetViewForAnnotation (viewForAnnotation în obj-c) metoda de clasa MKMapViewDelegate ... verifica cealaltă întrebare .
Când creați particularizat MKAnnotationView acesta obiect este de fapt un UIView făcut pentru harta adnotări ... puteți adăuga pur și simplu butonul și alte informații pentru vizualizarea și va apărea atunci când utilizatorul lovește adnotată.
Aici un cod dur pentru metoda delegat:
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;
}
}