我需要使用自定义注释查看用户位置,然后在用户附近添加更多各种类型的注释(例如纪念碑,餐馆电影......)。如果我用此方法编写代码,则显示用户的位置。
- (void) locationManager:(CLLocationManager *) manager
didUpdateToLocation:(CLLocation *) newLocation
fromLocation:(CLLocation *) oldLocation {
//......
MyAnnotation *annotationUser = [[MyAnnotation alloc]initWithCoordinates:self.coordinate title:@"YOU ARE HERE" subTitle:@"via Giorgio Giulini 2"];
[self.mapView addAnnotation:self.annotationUser];
}
如果我添加方法
- (MKAnnotationView *)mapView:(MKMapView *)mapview viewForAnnotation:(id <MKAnnotation>)annotation
{
//.....
}
要创建其他注释,将不再显示用户的位置。为什么呢?
答案 0 :(得分:2)
试试这个
- (MKAnnotationView *)mapView:(MKMapView *)mapview viewForAnnotation:(id <MKAnnotation>)annotation
{
if ([annotation isKindOfClass:[MyAnnotation class]]) {
return nil;
} else {
//.....
}
}