我从核心位置的locationManager中检索到用户位置的CLLocation。为了计算到 map 项的距离,我想将CLLocation转换为MKMapItem

我收集到您可以获取CLLocation的坐标,从它们中生成一个MKPlacemark,最后从MKMapItem中生成一个MKPlacemark,执行以下操作:

let currentLocation:CLLocation = locationManager.location
var coord : CLLocationCoordinate2D = currentLocation.coordinate
let myPlacemark = MKPlacemark(coordinate: coord)
let myMapItem = MKMapItem(placemark: myPlacemark)

这个任务的执行时间似乎很长,我想知道,是否没有其他直接的方法可以做到这一点?

在此先感谢您的任何建议。

最佳答案

由于这是您要创建的MKMapItem的用户的当前位置,因此可以执行以下操作:

let myMapItem = MKMapItem.mapItemForCurrentLocation()

这也省去了获取用户位置的麻烦! :)

10-08 15:40