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

时间:2015-01-07 09:33:35

标签: ios location mkmapview cllocationmanager mkmapitem

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

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

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

我需要这个适用于iOS 7 +

由于

1 个答案:

答案 0 :(得分:1)

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

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

根据您的方案,最好使用CLLocationManger,然后在获得所需准确度修复后停止请求更新。