2011-03-14 68 views
0

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

回答

0

在您的viewForAnnotation:方法的地图中设置leftCalloutAccessoryView。 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中的单元格一样)。

+0

Thnaks快速回答。我已经通过该教程。我可以将图像添加到标注。但我想为每个图像添加不同的图像用户从图库中选择一个图像作为特定的注释。然后那个图像显示出那个注释的奥利。希望它清楚。 plz帮助。 – Droidme 2011-03-14 12:37:08

+0

用户也可以在地图上添加新的注释。因此新的图像。 – Droidme 2011-03-14 12:41:27

+0

我无法实现结果。我已经包括他们。我可以知道如何使用你在代码中提到的“重用”关键字。 – Droidme 2011-03-14 13:35:29