plist ファイルを使用して、名前、住所、座標、およびアイコン (ピン イメージ名) の文字列を持つ注釈データを辞書に格納します。plistのアイコン文字列に応じて、ピン画像を使用して地図上に注釈を表示する必要があります。注釈辞書をループしますが、すべてのピンの最初の辞書からマップ ピン イメージに表示されます。
私のコード:
- (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ファイルの構造:
それが私に示すもの: