在 Swift 中将 CLLocation 转换为 MKMapItem

Posted

技术标签:

【中文标题】在 Swift 中将 CLLocation 转换为 MKMapItem【英文标题】:Convert CLLocation to MKMapItem in Swift 【发布时间】:2018-10-21 01:36:03 【问题描述】:

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

我猜你可以得到CLLocation的坐标,从他们那里创建一个MKPlacemark,最后从MKPlacemark创建一个MKMapItem,执行如下操作:

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

对于这项任务来说,这似乎相当冗长,我想知道是否没有更直接的方法可以做到这一点?

提前感谢您的任何建议。

【问题讨论】:

可以使用你this 【参考方案1】:

由于您尝试创建的 MKMapItem 是用户的当前位置,因此您可以这样做:

let myMapItem = MKMapItem.mapItemForCurrentLocation()

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

【讨论】:

以上是关于在 Swift 中将 CLLocation 转换为 MKMapItem的主要内容,如果未能解决你的问题,请参考以下文章

CLLocation 类 Swift

在 CoreData 中保存 Swift CLLocation

Swift 中的 CLLocation 管理器获取用户的位置

如何在 Swift 中将 Int 转换为字符

在 Swift 中将 Int 转换为 String

在 Swift 中将字节数组转换为 UIImage