質問

[OK]を、クラウス・ブロッホ私のおかげで、2つのGPS位置を比較すると、いくつかの進歩を遂げたそう。私は、何かをcurrentlocationがEQUAL TO(一覧から任意のGPS位置)であれば」と言うことができる必要があります。

は現時点では私のコードは次のとおりです。

CLLocationCoordinate2D bonusOne; bonusOne.latitude = 37.331689; bonusOne.longitude = -122.030731;

シミュレータは

が無限ループ位置をGPS

CLLocation *loc1 = [[CLLocation alloc] initWithLatitude:bonusOne.latitude longitude:bonusOne.longitude];
double distance = [loc1 getDistanceFrom:newLocation];
if(distance <= 10000000) {

次に何かをします }

は10000000の下の任意の数は、それが一致しないことを前提としています。

役に立ちましたか?

解決

はい、あなたは2点間の距離を取得するためにgetDistanceFromを使用することができます。距離はメートルです。あなたはおおよそ「ボーナス1」の位置にあるかどうかを判断するために、ロケーションマネージャから現在の水平精度と比較し、その比較を使用することができます。

CLLocation *bonusLocation = [[CLLocation alloc] initWithLatitude:bonusOne.latitude longitude:bonusOne.longitude];
float distance = [bonusLocation getDistanceFrom:newLocation];
float threshold = 2 * [newLocation horizontalAccuracy]; // Or whatever you like
if(distance <= threshold) {
  // You are at the bonus location.
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top