0

方法はタイトルの通り

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

が呼び出され、mapView1 と注釈の両方が nil です

viewDidAppear メソッドで通常の方法で 1 つの注釈を追加しています。

    [mapView addAnnotation:_a];

カスタムと標準の 2 つのアノテーション実装で試してみました。標準的な注釈の使用法は次のとおりです。

MKPointAnnotation *_aa=[[MKPointAnnotation alloc]init];
CLLocationCoordinate2D coordinates;
coordinates.latitude=39.281520;
coordinates.longitude= -76.580806;
_aa.coordinate= coordinates;
_aa.title=@"annotation 2";

[mapView addAnnotation:_aa];
4

2 に答える 2

0

MapAnnotation.h

     #import <Foundation/Foundation.h>
        #import <MapKit/MKAnnotation.h>

        @interface MapAnnotation : NSObject <MKAnnotation>
        @property(nonatomic, assign)    CLLocationCoordinate2D coordinate;
        @property(nonatomic, copy)      NSString *title;
        @property(nonatomic, copy)      NSString *subtitle;

    -(id)initWithCoordinate:(CLLocationCoordinate2D)Region withtitle:(NSString *)Title andSubTitle:(NSString *)SubTitle ;

MapAnnotation.m

@implementation EventAtPlacesAnnotation
@synthesize title = _title, subtitle = _subtitle,coordinate = _coordinate;

 -(id)initWithCoordinate:(CLLocationCoordinate2D)Region withtitle:(NSString *)Title andSubTitle:(NSString *)SubTitle 
{

    self = [super init];
    if(self){
        _title = Title;
        _subtitle = SubTitle;
        _coordinate = Region;
    }
    return self;
}

マップ ビューを使用したクラスからの値の割り当て

    CLLocationCoordinate2D newCoordinate = CLLocationCoordinate2DMake(40.56, 90.83);

    MapAnnotation *firstannotation = [[MapAnnotation alloc]initWithCoordinate:newCoordinate withtitle:@"Place 1" andSubTitle:@"Near To empire state"];

[myMapview addAnnotation:firstannotation];
于 2013-04-17T09:32:52.173 に答える