我知道之前有一个关于这方面的问题。然而,我认为有点新手,因为我不能解决它。
当我尝试这样做时,我得到了这个错误:
MKAnnotation *annotation = [[MKAnnotation alloc] initWithCoordinate:coordenada title:@"HELLO!"];
[mapa addAnnotation:annotation];我还有以下方法:
- (MKAnnotationView *) mapView: (MKMapView *) mapView viewForAnnotation: (id<MKAnnotation>) annotation
{
MKPinAnnotationView *pin = (MKPinAnnotationView *) [self.mapa dequeueReusableAnnotationViewWithIdentifier: @"asdf"];
if (pin == nil)
{
pin = [[[MKPinAnnotationView alloc] initWithAnnotation: annotation reuseIdentifier: @"asdf"] autorelease];
}
else
{
pin.annotation = annotation;
}
pin.pinColor = MKPinAnnotationColorRed;
pin.animatesDrop = YES;
return pin;
}并在标题中执行了#import < MapKit/MKAnnotation.h>。
有什么需要帮忙的吗?
非常感谢!
发布于 2011-06-25 06:20:54
MKAnnotation是一个协议,而不是一个可以实例化的类。
您是否定义了自己的实现MKAnnotation和initWithCoordinate:title:方法的类?如果有,请使用该类名并导入其头文件。
如果您还没有创建自己的注释类,则必须创建一个注释类,或者可以使用预定义的MKPointAnnotation类(在iOS 4+中):
MKPointAnnotation *annotation = [[MKPointAnnotation alloc] init];
annotation.coordinate = coordenada;
annotation.title = @"HELLO!";
[mapa addAnnotation:annotation];
[annotation release];您还需要执行以下操作:
#import <MapKit/MapKit.h> delegate属性(或IB中的插座),否则viewForAnnotation不会被调用<代码>H214<代码>F215https://stackoverflow.com/questions/6474171
复制相似问题