2016-05-31 15 views
0

あるポイントから別のポイントまでの距離を計算しようとしています。私はそのための方法を見つけることができます。MapKitを使用して緯度と経度の距離を計算する

CLLocationDistance dist = [loc distanceFromLocation:loc2]; 

しかし、それは直線で距離を計算することです。

私がしたいのは、道路で距離を計算することです。

例:私が「自宅」の住所から「仕事」として住所を指定するとします。私は家と道路の間の距離を求めています。道路で私は750メートルを得る。しかし、私がdistanceFromLocationメソッドで計算すると、私はわずか400メーターしか得られません。 距離を計算する例を教えてもらえますか?

+0

https://www.shinobicontrols.com/blog/ios7-day-by-day-day-13-route-directions-with-mapkit – Rajesh

+0

最高の簡単な例のhttpこの例を参照してください。 ://www.devfright.com/mkdirections-tutorial/ – Rajesh

+0

ありがとうございました。今すぐチェックしてください – Jaff

答えて

0

この答えをチェックアウト:

CLLocationCoordinate2D pointACoordinate = [pointAAnnotation coordinate]; 
CLLocation *pointALocation = [[CLLocation alloc] initWithLatitude:pointACoordinate.latitude longitude:pointACoordinate.longitude]; 

CLLocationCoordinate2D pointBCoordinate = [pointBAnnotation coordinate]; 
CLLocation *pointBLocation = [[CLLocation alloc] initWithLatitude:pointBCoordinate.latitude longitude:pointBCoordinate.longitude]; 

float distanceMeters = [pointALocation distanceFromLocation:pointBLocation]; 
float distanceMiles = (distanceMeters/1609.344); 

ここpointAAnnotation & pointBAnnotationは、あなたがそれらの間の距離を計算する必要がある2人の注釈です。

参考:Distance bw two Latitude & Longitude

+0

返信いただきありがとうございます。私は2つの場所の間の距離を道路の方法で計算したいと思う。 distanceFromLocation:は2つの場所の間に直線のパスを描き、その距離を正しく与えますか? 私は家からの住所から与えて、仕事としてアドレスすると言うことができます。私は家から道までの距離が必要です。道路で私は750メートルを得る。しかし、私がdistanceFromLocationを計算すると、私はわずか400メートルしか得られません。 – Jaff

+0

はい。これは直接直線の長さを返します。あなたは正確な距離を得るためにGoogleのApiで試してみてください –

関連する問題