2016-05-31 19 views
0

Ich versuche, die Entfernung von einem Punkt zum anderen zu berechnen. Ich bin in der Lage, dafür eine Methode zu finden.Berechnen Sie den Abstand zwischen Längen- und Breitengrad mit MapKit

CLLocationDistance dist = [loc distanceFromLocation:loc2]; 

Aber was es tut, ist die Entfernung in einer geraden Linie zu berechnen.

Was ich will ist die Entfernung von Straßen zu berechnen.

Zum Beispiel: Sagen wir, wenn ich von der Adresse als Home geben und als Arbeit ansprechen. Ich möchte die Entfernung zwischen Home to Work durch Straßen. Auf Straßen bekomme ich 750 Meter. Aber wenn ich nach der Methode distanceFromLocation berechne, bekomme ich nur 400m. Kann mir jemand mit einem Beispiel helfen, die Entfernung zu berechnen.

+0

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

+0

besten Leicht Beispiel http : //www.devfright.com/mkdirections-tutorial/ – Rajesh

+0

Danke Ill check jetzt – Jaff

Antwort

0

Schauen Sie sich diese Antwort:

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); 

Hier pointAAnnotation & pointBAnnotation sind die beiden Anmerkungen, die Sie Abstand zwischen ihnen berechnen müssen.

Ref: Distance bw two Latitude & Longitude

+0

Danke für die Antwort. Ich möchte die Entfernung zwischen zwei Orten auf dem Landweg berechnen. Der distanceFromLocation: zeichnet einen geraden Pfad zwischen zwei Orten und gibt diesen Abstand richtig? Lets sagen, wenn ich von der Adresse als Home geben und als Arbeit ansprechen. Ich möchte die Entfernung zwischen Home to Work durch Straßen. Auf Straßen bekomme ich 750 Meter. Aber wenn ich distanceFromLocation berechne, bekomme ich nur 400 Meter. – Jaff

+0

Ja .. Dies gibt die direkte Länge der geraden Linie zurück. Besser du versuchst es mit Google Api, um genaue Entfernung zu bekommen –

Verwandte Themen