我想知道是否有人可以帮助我。我是xcode的新手,我正在尝试构建一个基本的应用程序。我已经按照本教程
了http://rshankar.com/how-to-add-annotation-to-mapview-in-ios/
我已经直接复制了源代码,但我没有收到任何错误或警告,但是在运行应用程序时,引脚位置没有显示。我不确定他们是否在那里(只是看不见)或者他们是否完全不显示。我似乎无法找到问题。
有人能够建议问题是什么吗?
提前致谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
更改引脚的标注:
<MKMapViewDelegate>
协议delegate
设置为该类(例如mapView.delegate = self;
)MKMapViewDelegate
的{{1}}方法类似的东西:
(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
在地图图钉上(应该是实现- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
// If it's the user location, just return nil
if ([annotation isKindOfClass:[MKUserLocation class]])
return nil;
// Handle custom annotations
if ([annotation isKindOfClass:[NAME_OF_CLASS_IMPLEMENTING_MKANNOTATION_PROTOCOL class]])
{
// Try to dequeue an existing annotation view first
MKAnnotationView *annotationView = (MKAnnotationView*)[mapView dequeueReusableAnnotationViewWithIdentifier:@"AnnotationViewIdentifier"];
if (!annotationView)
{
// If an existing pin view was not available, create one
annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"AnnotationViewIdentifier"];
annotationView.canShowCallout = YES;
// set callout
UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
annotationView.rightCalloutAccessoryView = rightButton;
}
else
{
annotationView.annotation = annotation;
}
return annotationView;
}
return nil;
}
协议的类),您应该可以设置MKAnnotation
和title
属性。