【问题标题】:MKAnnotationView not showing up on the mapMKAnnotationView 未显示在地图上
【发布时间】:2011-11-24 13:32:35
【问题描述】:

我正在尝试使用 MKPointAnnotation 注释我的地图,如下所示:

- (void)viewDidLoad
{
    NSLog(@"RootViewController viewDidLoad");

    [super viewDidLoad];

    CLLocationCoordinate2D coord = 
    CLLocationCoordinate2DMake(54.903683,23.895435);

    MKPointAnnotation *toyAnnotation = [[MKPointAnnotation alloc] init];

    toyAnnotation.coordinate = coord;
    toyAnnotation.title = @"Title";
    toyAnnotation.subtitle = @"Subtitle";

    [mapView addAnnotation:toyAnnotation];

    [toyAnnotation release];

}

- (MKAnnotationView *)mapView:(MKMapView *)m 
            viewForAnnotation:(id <MKAnnotation>)annotation
{
    NSLog(@"RootViewController mapView: viewForAnnotation:");
    NSLog(@"%@",annotation);

    MKAnnotationView *pin = [[MKAnnotationView alloc] 
                             initWithAnnotation:annotation 
                             reuseIdentifier:nil];

    pin.enabled = YES;
    pin.canShowCallout = YES;

    return [pin autorelease];
}

图钉未能出现在地图上。 RootViewControllermapView 的委托,因此 mapView:viewForAnnotation: 方法被调用:

2011-11-24 15:04:03.808 App[2532:707] RootViewController mapView: viewForAnnotation:
2011-11-24 15:04:03.810 App[2532:707] <MKPointAnnotation: 0x1885c0>

我做错了什么以及如何解决这个问题?

【问题讨论】:

    标签: ios mapkit mkannotationview


    【解决方案1】:

    viewForAnnotation 中,创建MKPinAnnotationView 而不是MKAnnotationView(您必须为其设置image)。

    虽然对于默认的 pin 注释视图,您根本不需要实现委托方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多