获取用户当前位置坐标:MKMapItem vs CLLocationManager

Getting user's current location coordinates: MKMapItem vs CLLocationManager

这是我的场景:我需要准时获取用户的当前位置,以便在 MKMapView 中向他们展示一组附近的兴趣点。我不需要跟踪用户的位置。我需要有人来澄清最好的方法应该是:

1) ASFAIK,是否可以通过调用 mapItemForCurrentLocation 获取当前位置。你得到一个 MKMapItem 对象,我认为这个调用不需要启用位置服务,但我不确定是否可以通过这种方式获取位置的坐标......是吗?

2) 启动 CLLocationManager 并监听位置更新。然后只取接收到的第一个位置并停止收听。

我需要这个才能为 iOS 7+

工作

谢谢

要使 MKMapView 对象显示用户位置,您必须请求对 iOS8 的授权(即在 CLLocationManager 对象上使用 requestWhenInUseAuthorization)。

MKMapView 对象有一个 didUpdateUserLocation: 委托方法,您可以使用它接收用户位置更新,但这可能会反复触发,直到达到地图要求的精度 - 您可能需要忽略以后的更新取决于你在做什么。

根据您的情况,使用 CLLocationManger 可能会更好,然后在您修复了所需的准确性后停止请求更新。