这是我使用的公式:
double lat1 = [self getRadiansFromDegress:self.LocationLatitude];
double lat2 = [self getRadiansFromDegress:PointOfInterest.latitude];
double x = sin(lonDiff) * cos(lat2);
double y = cos(lat1)*sin(lat2) - sin(lat1)*cos(lat2)*cos(longDiff);
double bearingRad = atan2(x,y);
double bearingDeg = [self getDegreesFromRadians:bearingRad];
NSLog(@"Bearing: %f", bearingDeg);
对于 lat1 = 30.61
lat2 = 30.620954
lon1 = -96.342
lon2 = -96.345238
longDiff = -0.003238
根据这个网站:http ://www.yourhomenow.com/house/havesine.html我应该得到大约 345 度,但我的代码返回 -86.028010 度。谁能明白为什么这如此不同?