Ich half nur jemand anderen mit diesem in Objective - C, aber ich bin sicher , dass das Konzept das gleiche mit mono ist. Sie müssen ein benutzerdefiniertes MKAnnotationView Objekt erstellen und das außer Kraft setzen GetViewForAnnotation (viewForAnnotation in obj-c) Methode Ihrer MKMapViewDelegate Klasse ... überprüfen Sie die andere Frage aus .
Wenn Sie Ihre benutzerdefinierten erstellen MKAnnotationView es das Objekt im Grunde eine UIView für Karte Anmerkungen gemacht ist ... können Sie einfach Ihre Schaltfläche und andere Informationen zu der Ansicht hinzufügen und es wird angezeigt, wenn der Benutzer die Anmerkung trifft.
Hier einige grobe Code für die delegierte Methode:
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;
}
}