iphone编程目标c:mkpin问题

iphone编程目标c:mkpin问题,iphone,map,gps,mkannotation,Iphone,Map,Gps,Mkannotation,我试着在地图上用绿色和按钮做一个定制的pin。 但它不起作用。我有一个名为Placemark的类,它实现了mkannotation协议。 这是我的方法,应该显示绿色pin,但它没有: - (MKAnnotationView *) map:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>) annotation{ MKPinAnnotationView *annView=[[MKPinAnnotationView all

我试着在地图上用绿色和按钮做一个定制的pin。 但它不起作用。我有一个名为Placemark的类,它实现了mkannotation协议。 这是我的方法,应该显示绿色pin,但它没有:

- (MKAnnotationView *) map:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>) annotation{
    MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentloc"];
    annView.pinColor = MKPinAnnotationColorGreen;
    annView.animatesDrop=TRUE;
    annView.canShowCallout = YES;
    annView.calloutOffset = CGPointMake(-5, 5);
    return annView;
}
-(MKAnnotationView*)地图:(MKMapView*)地图视图注释:(id)注释{
MKPinAnnotationView*annView=[[MKPinAnnotationView alloc]initWithAnnotation:annotation重用标识符:@“currentloc”];
annView.pinColor=MKPinAnnotationColorGreen;
annView.animatesDrop=TRUE;
annView.canShowCallout=是;
annView.calloutOffset=CGPointMake(-5,5);
返回视图;
}
我还想指定我的MKMapview称为“map”,它是一个IBOutlet


谢谢

方法名称必须是
mapView:viewForAnnotation:
。地图视图专门查找该名称。可以更改内部参数变量名称,但不能更改冒号前面的部分

试试这个:

- (MKAnnotationView *) mapView:(MKMapView *)map 
                            viewForAnnotation:(id <MKAnnotation>) annotation
-(MKAnnotationView*)映射视图:(MKMapView*)映射
viewForAnnotation:(id)注释

由于拼写错误,地图视图不会调用viewForAnnotation方法,并且必须在地图上放置一个默认的红色pin。

你能用
addAnnotations:
在地图视图中添加注释的地方发布代码吗?我这样做了,但它没有输入更多的方法。你的意思是它仍然没有调用该方法?确保地图视图的委托已在IB中连接。除了使用正确的方法名称并确保委托已设置外,接下来要检查的是注释是否实际添加到地图视图的注释数组中。在addAnnotation行之后,NSLog注释数组的计数(或者只记录整个数组)。看到正在添加到数组中的注释了吗?否则,发布创建placemark并调用addAnnotation的代码。当我再次在线时,我会查看它,或者在此之前其他人也可以提供帮助。