Как добавить разные изображения в аннотации в одном и том же виде карты - PullRequest
2 голосов
/ 01 февраля 2012

У меня есть MapView с несколькими аннотациями.Но мне нужно поместить разные изображения в аннотации в соответствии со значением JSON.

enter image description here

Это то, что я хочу сделать ... Нужно добавить разные изображения в контакты в соответствии с JSONзначение.

Есть ли у кого-нибудь идея, как это сделать?Пожалуйста, помогите, и это было бы очень полезно.

Спасибо

Ответы [ 2 ]

6 голосов
/ 01 февраля 2012

Вы можете использовать метод делегата:

- (MKAnnotationView *) mapView: (MKMapView *) mapView viewForAnnotation: (id) аннотация

и в соответствии со своими значениями JSON вы можете установить изображение: Ниже приведен мой пример кода:

UIImage * flagImage = nil;

if(Your JSON Values)
flagImage = [UIImage imageNamed:@"darkgreendot.png"];
else if(....)
flagImage = [UIImage imageNamed:@"orangedot.png"];
else
flagImage = [UIImage imageNamed:@"bluedot.png"];

CGRect resizeRect;  
        resizeRect.size = flagImage.size;   
        resizeRect.origin = (CGPoint){0.0f, 0.0f};
        UIGraphicsBeginImageContext(resizeRect.size);
        [flagImage drawInRect:resizeRect];
        UIImage *resizedImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();    
        annotationView.image = resizedImage;
0 голосов
/ 01 февраля 2012

в

- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation

делегат просто установил изображение для вашего представления аннотаций

annotationView.image = [UIImage imageNamed:@"crazyPin.png"];
...