Кто-нибудь знает, если есть в любом случае, чтобы получить кнопку на аннотацию?
Я хотел бы место быть по выбору - так можно сказать .. выбрать место и получить все события в этом месте, нажав на кнопку.
Это возможно?
ш: //
Кто-нибудь знает, если есть в любом случае, чтобы получить кнопку на аннотацию?
Я хотел бы место быть по выбору - так можно сказать .. выбрать место и получить все события в этом месте, нажав на кнопку.
Это возможно?
ш: //
Вот код, который я использовал для моей аннотации, она включает в себя кнопку на правой стороне пузыря. Вы можете установить IBAction выдвинуть новый взгляд на стек, чтобы отобразить все, что вы хотите
- (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;
}
Я просто помог кому - то еще с этим в Objective C, но я уверен , что эта концепция является то же самое с моно. Вам нужно создать пользовательский объект MKAnnotationView и переопределить GetViewForAnnotation (viewForAnnotation в Obj-C) метод вашего класса MKMapViewDelegate ... проверить другой вопрос .
При создании пользовательского MKAnnotationView объекта это в основном UIView сделано для карты аннотаций ... Вы можете просто добавить кнопку и другую информацию с точкой зрения, и она будет отображаться, когда пользователь нажимает на аннотацию.
Вот несколько грубого кода метод делегата:
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;
}
}