iPhone:如何启用 MKUserLocation '蓝点'?
Posted
技术标签:
【中文标题】iPhone:如何启用 MKUserLocation \'蓝点\'?【英文标题】:iPhone: How to reenable MKUserLocation 'blue dot'?iPhone:如何启用 MKUserLocation '蓝点'? 【发布时间】:2010-09-02 09:43:18 【问题描述】:启用“蓝点”显示我的应用程序中的当前位置
mapView.showsUserLocation = YES
通过
禁用/隐藏点mapView.showsUserLocation = NO
为了放下图钉。到现在为止还挺好。
在“userLocation”处添加注释图钉并将其在地图中拖动到新位置。之后,我想通过再次将 showUserLocation 设置为 YES 来再次显示蓝点 - 但它根本不显示!可能是什么问题呢?有没有办法用任何其他方法强制它再次显示(重置 userLocation?)?涉及哪些事件?
感谢您对此的任何帮助..
【问题讨论】:
【参考方案1】:检查您是否正在使用- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
方法尝试自定义 annotationView:
if (annotation==_mapView.userLocation )
return nil;
else
//...
//costumizing pins for other annotations on mapview
//return customized annotationview
【讨论】:
我不确定为什么上面的代码对我有用。但是 Will Johnson 的代码可以解决问题。 我关闭再打开定位服务就不行了。【参考方案2】:试试这个:
if ([annotation isKindOfClass:[MKUserLocation class]]) return nil;
使用类而不是 annotation==_mapView.userLocation 意味着你停止使用 _mapView.userLocation 或其他什么,这条线不会中断。
【讨论】:
以上是关于iPhone:如何启用 MKUserLocation '蓝点'?的主要内容,如果未能解决你的问题,请参考以下文章
iPhone RestKit 如何启用 RKLogDebug?
如何在 iPhone 应用程序中启用/禁用 iTunes 文件共享
如何在 MPMoviePlayer 播放期间启用 iPhone 自动锁定?
如何禁用 UITextView 中的复制、粘贴选项并再次启用 iPhone 应用程序?
iPhone iOS如何在启用缩放时使UIScrollView与UIRotationGestureRecognizer一起工作?