首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MKMapView的showUserLocation属性

使用MKMapView的showUserLocation属性
EN

Stack Overflow用户
提问于 2009-10-19 11:37:31
回答 2查看 4.3K关注 0票数 6

我有一个应用程序在地图上显示不同的大头针。我尝试将mapView.showsUserLocation = YES;设置为显示用户的当前位置,但这导致我的应用程序崩溃(“程序接收信号: SIGABRT"),并显示以下错误消息:

代码语言:javascript
复制
Mon Oct 19 12:31:27 unknown Hull Ads[3111] <Error>: *** -[MKUserLocation counter]: unrecognized selector sent to instance 0x10ad60
Mon Oct 19 12:31:27 unknown Hull Ads[3111] <Error>: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[MKUserLocation counter]: unrecognized selector sent to instance 0x10ad60'
Mon Oct 19 12:31:27 unknown Hull Ads[3111] <Error>: Stack: (...)

这有点令人困惑,因为我没有使用过MKUserLocation,或者这就是问题所在?

该应用程序确实会将CoreLocation用于其他不相关的目的,但是,当CoreLocation尚未使用时,该应用程序会以相同的方式进行响应。

如果有人能帮上忙,那就太棒了!

谢谢-詹姆斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-10 19:08:53

请确保在此方法中包含以下内容:

代码语言:javascript
复制
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
    if ([annotation class] == MKUserLocation.class) {
        return nil;
    }
    ...
}

我真的希望你现在已经解决了这个问题;)

票数 24
EN

Stack Overflow用户

发布于 2010-02-22 20:29:44

感谢Berend回答了这个问题,并感谢james.ingham的提问!几个月来,我一直在寻找解决这个问题的方法,这个帖子帮我解决了这个问题!

检查MKUserLocation引脚类型将是最合理的做法。但是谁会记得在实现viewForAnnotation方法时这样做呢?即使您不打算在您的应用程序中使用MKuserlocation,始终执行此检查也是安全的做法,以避免在未来遇到问题。

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

https://stackoverflow.com/questions/1588202

复制
相关文章

相似问题

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