我在2个地点之间取得距离:
CLLocation
从应用程序:距离= 0.83 KM(大约)(不正确)位置坐标为:
当前位置:19.0174941,72.8557548 目的地位置:19.0205907,72.8540556
以下是我用来计算距离的代码:
CLLocation *destination = [[CLLocation alloc] initWithLatitude:[latitude doubleValue] longitude:[longitude doubleValue]];
CLLocationDistance distance = [destination distanceFromLocation:currentLocation]/1000.0;
我无法理解为什么两种方法都存在这样的差异。任何人都可以指导我如何从两个方面获得相同的距离。
答案 0 :(得分:0)
使用Google SDK的Google地图可以为您提供实际的道路距离,而CLLocation可以为您提供2个坐标之间的距离,并将其视为一条直线。这就是这种差异。
请查看apple docs here。
此方法通过跟踪测量两个位置之间的距离 它们之间的一条线跟随地球的曲率。该 产生的弧线是一条平滑的曲线并没有考虑在内 两个地点之间的特定高度变化。