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 '蓝点'?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ScrollView (iPhone) 中启用缩放

iPhone RestKit 如何启用 RKLogDebug?

如何在 iPhone 应用程序中启用/禁用 iTunes 文件共享

如何在 MPMoviePlayer 播放期间启用 iPhone 自动锁定?

如何禁用 UITextView 中的复制、粘贴选项并再次启用 iPhone 应用程序?

iPhone iOS如何在启用缩放时使UIScrollView与UIRotationGestureRecognizer一起工作?