我是CoreLocation和MapKit的新手,我有这个奇怪的问题。基本上,我在UIView中显示了一个MKMapView。当我设置我的MKMapView时:
self.mapView.showsUserLocation = YES;
//self.mapView.delegate = self;
我得到了这个(1):
但是当我取消注释第二行时,我得到了这个(2),我觉得很奇怪。
我怎样才能将MKMapView的委托设置为self,但仍然得到(1)
由于
答案 0 :(得分:3)
您是否在覆盖控制器中的注释(viewForAnnotation
方法)?在我看来,当您将委托设置为self时,注释将被覆盖。
如果您确实更改了班级中的注释,请添加以下行。这将阻止更改“当前位置”点的注释。
- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation
{
static NSString *AnnotationViewID = @"annotationViewID";
// Check if its the annotation for displaying the current position
if ([annotation isKindOfClass:[MKUserLocation class]])
{
return nil;
}
// Your annotation code
}