このコードを実行する:
NSLog(@"%f", MKMetersBetweenMapPoints(MKMapPointMake(33.6523, -118.507), MKMapPointMake(34.516, -117.628)));
これを返します:
0.015819
期待される出力が約136900になる場合。私は何が間違っているのですか?
に通常の緯度と経度を指定しているようですMKMapPointMake()
。には、緯度と経度ではなく、 andとvalueMKMapPoint
が含まれます。x
y
を使用MKMapPointForCoordinate(myLocation)
して場所をマップポイントに変換し、それらをMKMetersBetweenMapPoints()
関数に渡します。
または、さらに簡単に-distanceFromLocation:
、2つのCLLocation
オブジェクトで使用します。地球の曲率を考慮して、メートル単位の距離を返します。