Někdo vědět, jestli je tam tak jako tak, aby tlačítka na anotací?
Rád bych umístění být volitelně - takže si můžete říct .. vyberte místo a dostat všechny události na tomto místě po kliknutí na tlačítko.
Je to možné?
w: //
Někdo vědět, jestli je tam tak jako tak, aby tlačítka na anotací?
Rád bych umístění být volitelně - takže si můžete říct .. vyberte místo a dostat všechny události na tomto místě po kliknutí na tlačítko.
Je to možné?
w: //
Zde je kód jsem použil pro své anotaci, že obsahuje tlačítko na pravé straně bubliny. Můžete nastavit IBAction, aby se zasadila nový pohled na stoh zobrazit, co chcete
- (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation
{
MKPinAnnotationView *pinAnnotation = nil;
if(annotation != mapView.userLocation)
{
static NSString *defaultPinID = @"myPin";
pinAnnotation = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
if ( pinAnnotation == nil )
pinAnnotation = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];
pinAnnotation.canShowCallout = YES;
//instatiate a detail-disclosure button and set it to appear on right side of annotation
UIButton *infoButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
pinAnnotation.rightCalloutAccessoryView = infoButton;
}
return pinAnnotation;
}
Jen jsem pomohl někoho jiného s tím v Objective C, ale jsem si jistý, že koncept je stejný s mono. Musíte vytvořit vlastní MKAnnotationView objekt a potlačit GetViewForAnnotation (viewForAnnotation v obj-c) způsob vašeho MKMapViewDelegate třídy ... podívejte se na jinou otázku .
Při vytváření vlastního MKAnnotationView to objekt je v podstatě UIView stanovit mapových poznámky ... stačí přidat tlačítko a další informace k názoru, a to se projeví, když uživatel zasáhne anotaci.
Zde několik hrubý kód pro metodu delegáta:
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;
}
}