iphone - 向 UIMapView 添加可点击注释

标签 iphone mkmapview

我想向带有公开按钮的 MapView 添加注释,但我无法弄清楚。

我创建了一个符合 MKAnnotation 协议(protocol)的 PlaceMark 类,然后创建 MapView 并添加 PlaceMark:

// Add annotation information
PlaceMark *venuePlacemark = [[PlaceMark alloc] initWithCoordinate:location];
venuePlacemark.locationTitle = [locationDictionary valueForKey:VENUE_NAME_KEY];
venuePlacemark.locationSubtitle = @"Touch to show in Google Maps";

// Create the accessory button on the placemark
[venueMap addAnnotation:venuePlacemark];
[venueMap setRegion:region animated:TRUE];
[venueMap regionThatFits:region];

这一切都有效,并且会显示一个图钉,触摸时会显示正确的标注文本。我不知道如何在调用中添加披露按钮。抱歉,如果这是初级的,我们将不胜感激。

戴夫

最佳答案

我想我已经弄清楚了...实现了以下委托(delegate)方法:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
    MKPinAnnotationView *dropPin=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"venues"];

    UIButton *disclosureButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    [disclosureButton addTarget:self action:@selector(mapCallOutPressed:) forControlEvents:UIControlEventTouchUpInside];

    dropPin.rightCalloutAccessoryView = disclosureButton;
    dropPin.animatesDrop = YES;
    dropPin.canShowCallout = YES;

    return dropPin;
}

关于iphone - 向 UIMapView 添加可点击注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1856399/

相关文章:

ios - MKPinAnnotationView 不起作用

mkmapview - IOS 上的 Mapkit 是否支持叠加层的出列? (就像注释一样)

iphone - 如何在 UIViewController 推送时为 UINavigationBar 背景更改设置动画?

ios - iOS 7.0.3 中的条形半透明消失了

iphone - 如何将 uibutton 添加到自定义注释 View

ios - 带有灰色箭头按钮的标注附件 View ,而不是蓝色 'i' 按钮

iphone - NSDictionary 中的键和值是有序的吗?

ios - iOS:按最近的年份(忽略年份)对NSDate数组进行排序

iphone - 使用 UIAlertView 检测按钮点击

iPhone map 套件 : Annotation images get reset back to pins