iPhone不同图像的不同标注

时间:2011-03-14 12:09:48

标签: iphone maps mkmapview mkannotation

我正在iphone中开发一个处理地图的应用程序。我有很多注释。对于每个注释,我需要在标注(左侧附件视图)中加载不同的图像。任何人都可以告诉我如何做到这一点。用户在需要时动态添加注释,并从库中选择图像以将其添加到特定注释标注。我可以将图像添加到标注中。但不能区分不同的注释

1 个答案:

答案 0 :(得分:0)

在地图的leftCalloutAccessoryView方法中设置viewForAnnotation:。 leftCallout是一个UIView,所以你可以放任何东西。一些示例代码可能如下所示:

        MKAnnotationView *av = [[[MKAnnotationView alloc] initWithAnnotation:annotation
                                                                 reuseIdentifier:@"ReuseMe"] autorelease];
        [av setCanShowCallout:YES]; 
        UIImageView *sfIconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"SFIcon.png"]];
        av.leftCalloutAccessoryView = sfIconView;
        [sfIconView release];  

查看Apple的MapCallouts演示代码。它做你想要的。

基于注释的更新:更改刚刚放入initWithImage中的新图像的图像。你可以让这行像是

UIImageView * sfIconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[myArrayOfImages objectAtIndex:myIndexVariable]];

你甚至可以重构UIImageView一直到[sfIconView的行,并以这种方式传递图像。每个注释都会调用viewForAnnotation:的代码一次(就像UITableView中的单元格一样)。