我可以创建一个MKAnnotation,还是只读的?我有坐标,但是使用MKAnnotation手动创建setCoordinate并不容易。

有想法吗?

最佳答案

MKAnnotation是协议。因此,您需要编写自己的实现此协议的注释对象。因此,您的MyAnnotation标头看起来像:

@interface MyAnnotation : NSObject<MKAnnotation> {
    CLLocationCoordinate2D coordinate;
}

@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;

// add an init method so you can set the coordinate property on startup
- (id) initWithCoordinate:(CLLocationCoordinate2D)coord;


和您的实现看起来像(MyAnnotation.m):

- (id) initWithCoordinate:(CLLocationCoordinate2D)coord
{
    coordinate = coord;
    return self;
}


因此,将注释添加到地图:

MyAnnotation * annotation = [[[MyAnnotation alloc] initWithCoordinate:coordinate] autorelease];
[self.mapView addAnnotation:annotation];


如果在标注标注上没有标题和副标题,则需要添加标题和副标题属性。

关于iphone - iPhone:创建MKAnnotation,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2878758/

10-13 03:56