首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将MapView委派设置为self时showUserLocation发生变化

将MapView委派设置为self时showUserLocation发生变化
EN

Stack Overflow用户
提问于 2012-04-30 03:40:32
回答 1查看 372关注 0票数 1

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

代码语言:javascript
复制
self.mapView.showsUserLocation = YES;
//self.mapView.delegate = self;

我得到了这个(1):

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

如何将MKMapView的委托设置为self,但仍获得(1)

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-30 03:48:34

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

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

代码语言:javascript
复制
- (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

}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10375336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档