我有两组坐标。用户必须从一个位置旅行到另一个位置。显示两个坐标之间的方向的最佳方法是什么。我计算了2点之间的距离。我还找到了 2 个坐标之间的角度。
p1 = CGPointMake(coordinatesInDisplacement.latitude, coordinatesInDisplacement.longitude);
p2 = CGPointMake(coordinatesInDistance.latitude,coordinatesInDistance.longitude);
f = [self pointPairToBearingDegrees:p1 secondPoint:p2];
- (CGFloat) pointPairToBearingDegrees:(CGPoint)startingPoint secondPoint:(CGPoint) endingPoint
{
CGPoint originPoint = CGPointMake(endingPoint.x - startingPoint.x, endingPoint.y - startingPoint.y); // get origin point to origin by subtracting end from start
float bearingRadians = atan2f(originPoint.y, originPoint.x); // get bearing in radians
float bearingDegrees = bearingRadians * (180.0 / M_PI); // convert to degrees
bearingDegrees = (bearingDegrees > 0.0 ? bearingDegrees : (360.0 + bearingDegrees)); // correct discontinuity
return bearingDegrees;
}
在没有方向的情况下寻找角度对导航没有任何用处。是否可以仅使用提供的 2 个坐标来寻找方向?
但我认为这还不够。我应该(或有可能)向用户提供从 IOS 设备正确从起点到达终点的所有详细信息。
编辑:我有 2 个地点,一个在英国,另一个在西班牙。如果我从西班牙到英国旅行,
是否有可能获得像 30°N 20°W 这样的方向。即我必须从西班牙经过 30°N 20°W 才能到达英格兰。
是方位角,与我上面提到的角度相同。