首页 > 解决方案 > 查找当前位置与另一个位置之间的距离(Swift 5)

问题描述

我不是程序员,但一直在玩一个有趣的副项目。我正在使用 Xcode 10、Swift 5。我通过 youtube 和 SO 拼凑了一些东西,但我已经搜索并试验了三天,但我在这里遇到了死胡同。

我正在尝试确定用户当前位置与预设点(在本例中为机场)之间的距离。我能够找到两个硬编码位置之间的距离。我还可以在控制台中找到并打印用户的当前位置。但是当我尝试结合我正在努力的那些时,最常见的错误是

'CLLocationCoordinate2D' 类型的值没有成员 'distance''

工作的代码是我想要的以米为单位的距离:

lazy var phx = CLLocation(latitude: 33.409016, longitude: -111.805576)
lazy var distanceFromPhoenixToVegas = las.distance(from: phx)

这将打印出当前位置坐标:

func printCoordinates(){
     if let location = locationManager.location?.coordinate {
            print (location)
     }
}

如果有人可以提供指导,我将不胜感激。

旁注,在 Stack Overflow 上有很多类似的问题。有关于获取用户当前位置的问题,以及关于获取两点之间距离的问题。我相信这本质上就是我要问的,但它只是由原始海报回答,而答案对我来说似乎并不完全正确。iOS和Swift:显示与当前位置的距离?

标签: iosswiftxcodecllocationcoordinate2dcllocationdistance

解决方案


coordinate是类型CLLocationCoordinate2D 你只需要locationManager.location

if let location = locationManager.location {
   print(phx.distance(from: location))
}

推荐阅读