我正在向MKMapView添加一些註釋,並且這些註釋具有UIImageView,與AFNetworking異步加載,作爲左側標註附件視圖。下面是執行:地圖註釋沒有正確顯示配件視圖
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
static NSString *identifier = @"MapAnnotation";
if ([annotation isKindOfClass:[MapAnnotation class]]) {
MKAnnotationView *annotationView = (MKAnnotationView *)[_mapView dequeueReusableAnnotationViewWithIdentifier:identifier];
if (annotationView == nil) {
annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
annotationView.enabled = YES;
annotationView.canShowCallout = YES;
annotationView.image = [UIImage imageNamed:@"map_pin"];
UIImageView *userAvatar = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
[userAvatar setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=small",[[(MapAnnotation *)annotation user] facebookID]]] placeholderImage:[UIImage imageNamed:@"user_placeholder"]];
userAvatar.layer.cornerRadius = 4.0;
userAvatar.layer.masksToBounds = YES;
userAvatar.layer.borderColor = [[UIColor blackColor] CGColor];
userAvatar.layer.borderWidth = 1;
annotationView.leftCalloutAccessoryView = userAvatar;
UIButton *rightCallout = [UIButton buttonWithType:UIButtonTypeInfoLight];
annotationView.rightCalloutAccessoryView = rightCallout;
}
annotationView.annotation = annotation;
return annotationView;
}
return nil;
}
這裏的問題是:有時候(不是所有的)的時候針對不同用戶的註釋被加載到地圖上,他們表現出他們所有的相同的圖像。
比方說,我必須加載兩個註解與這樣的信息:
註釋1個 姓名(名稱):約書亞 日期時間(字幕):19/06,11:00 圖片:www.myurl.com /joshua.jpg
註解2 名稱(標題):馬修 日期時間(字幕):10/06,20:00 圖片:www.myurl.com/mathew.jpg
有時它們被示出標題和副標題正確但加載的圖像對所有人都是一樣的(約書亞的圖像,反之亦然)。
我在這裏缺少的東西是這種方法?
這就是問題!它現在解決了!謝謝@mbogh! – CainaSouza
@CainaSouza我已經更新了一些更詳細的答案。但很高興幫助:) – mbogh
我感謝您的關注!很好的解釋! – CainaSouza