我使用 plist 文件在字典中存储具有名称、地址、坐标和图标(图钉图像名称)字符串的注释数据。我需要根据 plist 中的图标字符串在地图上使用 pin 图像显示我的注释。我循环我的注释字典,但它显示在我所有引脚上的第一个字典的地图引脚图像上。
我的代码:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
if ([annotation isKindOfClass:[MKUserLocation class]])
return nil;
static NSString* AnnotationIdentifier = @"AnnotationIdentifier";
MKPinAnnotationView* pinView = [[MKPinAnnotationView alloc]
initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier];
NSString *path = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"];
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
for(path in dict){
NSString *theCategory;
theCategory = [NSString stringWithFormat:@"%@", path];
NSLog(@"%@", path);
NSArray *anns = [dict objectForKey:theCategory];
pinView.image = [UIImage imageNamed:[[anns objectAtIndex:0] objectForKey:@"Icon"]];
}
pinView.canShowCallout=YES;
return pinView;
}
我的 plist 文件构造:
它向我展示了什么: