ここに質問を投稿するのはこれが初めてですが、他の人の質問から多くの助けが得られました。
私の質問は の-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 メートルでそれが変わる可能性があります。
私の質問は、これらの値のどれが正しいですか? また、テスト対象の場所が重要な場合、常に同じ場所に対してテストする必要がありますか (たとえば、宛先からユーザーへ、注釈から宛先へではなく、ユーザーから宛先へ、注釈から宛先へ)。
私のプロジェクトはかなり大きく、これは私の問題を示しているため、サンプルが少し文脈から外れて申し訳ありません。これは私にかなりの混乱と欲求不満を引き起こしたので、どんな助けも感謝します.