获取用户当前位置坐标: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的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中将 CLLocation 转换为 MKMapItem

用于创建注释的 MKMapItem 中心

cocos2d-x中如何获取当前鼠标的坐标?

如何从 MKMapItem 中提取纬度/经度坐标

地图坐标转换(火星谷歌百度腾讯高德等坐标)

android打开网页,并保存当前位置源码