0

このようにマップビューに複数のマーカーを追加しています。

markers = [jsonDict objectForKey:key];
            for (id k in markers) {

                if ([k isEqualToString:@"latitude"]) {

                    mlat = [markers objectForKey:k];
                    dlat = [mlat doubleValue];
                }

                else if ([k isEqualToString:@"longitude"]) {

                    mlng = [markers objectForKey:k];
                    dlng = [mlng doubleValue];
                }


                else if ([k isEqualToString:@"file"]){
                    murl = [markers objectForKey:k];
                }

                else if ([k isEqualToString:@"comment"]){
                    mcomment = [markers objectForKey:k];
                }

            }
            annotationCoord.latitude = dlat;
            annotationCoord.longitude = dlng;
            MKPointAnnotation *annotationPoint = [[MKPointAnnotation alloc] init];
            annotationPoint.coordinate = annotationCoord;
            [self.navimap addAnnotation:annotationPoint];

ここで、の各マーカーの「 comment」と「」の値を取得したいと思います。誰かがこれで私を助けてくれたらありがたいです。filedidSelectAnnotationView

4

1 に答える 1

0

カスタムアノテーションクラスを作成し、MKPointAnnotationではなくそれを使用する必要があります。

#import <MapKit/MapKit.h>

@interface Marker : NSObject <MKAnnotation>

@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *subtitle;
@property (nonatomic) CLLocationCoordinate2D coordinate;
@property (nonatomic,copy) NSString* url;
@property (nonatomic,copy) NSString* comment;

@end

didSelectAnnotationView次に、次のように実装します。

-(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{        
    if ([view.annotation isKindOfClass:[Marker class]]) {
        Marker* marker = view.annotation;
        NSLog(@"selected marker %@", marker);
    }
}
于 2013-03-18T10:50:25.573 に答える