2012-02-01 17 views
2

複数の注釈を持つMapViewがあります。しかし、私は、JSON値に従って注釈に異なるイメージを配置する必要があります。同じマップビューで異なる画像を注釈に追加する方法

enter image description here

これは私が何をしたいです... JSON値に応じて、ピンに異なる画像を追加する必要があります。

どのようにすればよいのでしょうか?助けてください。とても助かります。

あなたの注釈ビューのおかげ

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

デリゲートだけで設定された画像で

答えて

6

あなたは、デリゲートメソッドを使用することができます。

- (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; 
+1

Worked Perfectly ..ありがとうDude :) –

-2

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

いくつかのいずれかがちょうどダウン私の答えを投票した場合、私の答えは良くない理由をコメントしていいだろう。 –

関連する問題