1

我是 CoreLocation 和 MapKit 的新手,我遇到了这个奇怪的问题。基本上,我在 UIView 中显示了一个 MKMapView。当我像这样设置我的 MKMapView 时:

self.mapView.showsUserLocation = YES;
//self.mapView.delegate = self;

我得到这个(1):

在此处输入图像描述

但是当我取消注释第二行时,我得到了这个 (2),我觉得这很奇怪。

在此处输入图像描述

我该怎么做才能将 MKMapView 的委托设置为 self,但仍然得到 (1)

谢谢

4

1 回答 1

3

您是否覆盖了viewForAnnotation控制器中的注释(方法)?在我看来,当您将委托设置为 self 时,注释正在被覆盖。

如果您确实更改了 Class 中的注释,请添加以下行。这将防止更改“当前位置”点的注释。

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

}
于 2012-04-29T19:48:33.950 回答