【问题标题】:iphone programming objective-c : mkannotation Pin problemiphone编程objective-c:mkannotation Pin问题
【发布时间】:2011-04-12 02:27:23
【问题描述】:

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

- (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;
}

我还想指定我的 MKMapview 被称为“地图”并且它是一个 IBOutlet。

谢谢

【问题讨论】:

  • 你能用addAnnotations:发布你在地图视图中添加注释的代码吗?

标签: iphone map gps mkannotation


【解决方案1】:

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

试试这个:

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

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

【讨论】:

  • 我做到了,但它没有更多地进入方法
  • 你的意思是它仍然不调用该方法?确保地图视图的委托已在 IB 中连接。
  • 除了使用正确的方法名称并确保设置了委托之外,接下来要检查的是将注释是否实际添加到地图视图的注释数组中。在 addAnnotation 行之后, NSLog 注释数组的计数(或只记录整个数组)。你看到注释被添加到数组中了吗?否则,发布创建地标并调用 addAnnotation 的代码。我会在我再次在线时查看它,或者在那之前其他人也可以提供帮助。
猜你喜欢
  • 2012-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-29
  • 1970-01-01
相关资源
最近更新 更多