获取用户当前位置坐标:MKMapItem vs CLLocationManager
Posted
技术标签:
【中文标题】获取用户当前位置坐标:MKMapItem vs CLLocationManager【英文标题】:Getting user's current location coordinates: MKMapItem vs CLLocationManager 【发布时间】:2015-03-05 03:49:35 【问题描述】:这是我的场景:我需要准时获取用户的当前位置,以便在MKMapView
中向他们展示一组附近的兴趣点。我不需要跟踪用户的位置。我需要有人来说明最好的方法应该是:
1) ASFAIK,是否可以通过调用mapItemForCurrentLocation
获取当前位置。你得到一个MKMapItem
对象,我认为这个调用不需要启用位置服务,但我不确定是否可以通过这种方式获取位置的坐标......是吗?
2) 启动CLLocationManager
并监听位置更新。然后只需获取收到的第一个位置并停止收听。
我需要这个才能在 ios 7+ 上工作
谢谢
【问题讨论】:
【参考方案1】:要让MKMapView
对象显示用户位置,您必须请求iOS8 的授权(即在CLLocationManager
对象上使用requestWhenInUseAuthorization
)。
MKMapView
对象有一个 didUpdateUserLocation:
委托方法,您可以使用它来接收用户位置更新,但这可能会反复触发,直到达到地图所需的准确度 - 您可能需要忽略以后的更新,具体取决于您的情况做。
根据您的情况,最好使用CLLocationManger
,然后在您修复所需的准确性后停止请求更新。
【讨论】:
以上是关于获取用户当前位置坐标:MKMapItem vs CLLocationManager的主要内容,如果未能解决你的问题,请参考以下文章