showsAserLocation已禁用位置服务

时间:2009-07-22 18:26:50

标签: iphone cocoa cocoa-touch core-location

我的应用程序中有一个MKMapView,并且有一个按钮打开地图的showsUserLocation,而地图正在查找我显示微调器的位置,以便用户知道它的工作情况。我知道何时通过将NSKeyValueObserver添加到地图的userLocation属性来停止微调器。但是,如果用户禁用了位置服务,那么微调器只会继续运行但没有任何反应,有没有办法知道在使用MKMapView时何时禁用位置服务?

2 个答案:

答案 0 :(得分:4)

使用locationServicesEnabled,它是CLLocationManager的布尔属性。

MapKit支持自动显示用户的位置非常差。我正在编写的应用程序显示了用户的位置,但我直接使用CLLocationManager并将自己的注释添加到地图中。

答案 1 :(得分:0)

请注意,locationServicesEnabled是4.0中的新功能,因此如果您的部署目标较低,则无法使用。

编辑:Nevermind - 类方法[CLLocationManager locationServicesEnabled]是4.0中的新增功能。但是现在有一个已弃用的实例属性.locationServicesEnabled用于早期的SDK。