这是我第一次在这里发问题,但我从其他人的问题中找到了很多帮助。
我的问题是指-distanceFromLocation:
. CLLocation
我曾假设找到 A 点和 B 点之间的距离与 B 点和 A 点之间的距离相同,但我发现事实并非如此。我在一个非常简单的案例中对此进行了测试:
CLLocation *test1 = [[CLLocation alloc] initWithLatitude:37.529530 longitude:-122.259232];
CLLocation *test2 = [[CLLocation alloc] initWithLatitude:47.900002 longitude:-103.495102];
NSLog(@"%f vs %f",[test2 distanceFromLocation:test1],[test1 distanceFromLocation:test2]);
[test1 release];
[test2 release];
对此的输出是 1907269.942754 与 1908105.959114,相差近 900 米。
虽然 900 米可能只是很小的百分比,但我试图确定用户是否比注释更接近某物,而 900 米可以改变这一点。
我的问题是,如果有的话,这些值中的哪一个是正确的?此外,如果我测试的位置很重要,我是否需要始终针对同一位置进行测试(例如,用户到目的地和注释到目的地,而不是目的地到用户和注释到目的地)?
抱歉,示例有点脱离上下文,因为我的项目相当大,这说明了我的问题。任何帮助将不胜感激,因为这给我带来了相当多的困惑和沮丧。