CLLocationManager
有一个名为activityType
的属性,我们可以在其中设置与位置更新相关联的活动类型。
在我的应用中,我会在其上显示一个包含用户位置的MKMapView
,因此我不会使用CLLocationManager
。由于我们无法访问MKMapView
的位置管理员,我们如何设置MKMapView
的{{1}}?
感谢。
答案 0 :(得分:2)
你不能,这可能是故意的。设置MKMapView
后,CoreLocation
会使用showsUserLocation = NO
来确定您的位置,我认为这就是您正在做的事情。根据该属性的描述:
...将此属性设置为YES会导致地图视图使用Core Location框架查找当前位置并尝试在地图上显示它。只要此属性为YES,地图视图就会继续跟踪用户的位置并定期更新 。 ...
如果您想要activityType
或desireAccuracy
级别的粒度,则必须使用CoreLocation
API类。即CLLocationManager.
顺便说一句,我认为Apple的MKMapView
正在使用重要的更改位置API来管理您在地图上的位置(可能还有AGPS)以节省电池寿命,但我可能错了。
无论如何,我只想创建CLLocationManager
的实例并设置其activityType
。