在iOS上计算地图上两点之间的距离

6

使用苹果地图框架或谷歌框架在iOS上计算两个接近点之间的距离是否可能?例如,我想以尽可能高的精度获取这两个蓝点之间的距离。

enter image description here

使用谷歌地图或苹果地图,我可以获得很多位数的2个坐标吗?如何计算以厘米或毫米为单位的距离?


1
如果您获得了足够准确的数据,那么请使用 https://dev59.com/iWw05IYBdhLWcg3wiybg#7175724。 - meaning-matters
使用CLLocationDistance时,它是近似还是给我实际的距离(以米为单位):例如,它会返回30.21m或30.00m? - Fiorelo Odobashi
鉴于通常需要专业设备才能记录点的位置到毫米精度,因此,除非它们是具有已知基准的测量点,否则用毫米精度测量这两个位置之间的距离不太可能得出毫米级别的准确测量结果。 - Andrew Reid
@AndrewReid 感谢您的回答。该点将被选择在地图上(就像谷歌地图,当您长按屏幕时)。我不需要提供准确定位的GPS。 - Fiorelo Odobashi
2个回答

37

试试这个 -

let coordinate0 = CLLocation(latitude: 5.0, longitude: 5.0)
let coordinate1 = CLLocation(latitude: 5.0, longitude: 3.0)
let distanceInMeters = coordinate0.distance(from: coordinate1)

好的,谢谢。我本以为这个函数只会给我一米的近似距离(例如:12.32米→ 12.00米)。我试过了,它完美地工作了! - Fiorelo Odobashi
1
太好了,这个方法能帮到您的话,请点击“接受答案”哦 :) - Hussain Shabbir
@Miti 你是什么意思? - meaning-matters

3

是的,您将获得足够准确的位置信息。CLLocation拥有一个distance(from: CLLocation)函数,可以实现这个功能,并且对于短距离也能提供准确的结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接