2010-11-10 28 views
4

Je suis un nouveau développeur iPhone apprentissage Objective-C, et je suis en train de calculer dynamiquement les distances entre les coordonnées latitude/longitude des utilisateurs, avec la latitude/coordonnées de longitude dans une table SQLite. Je sais que nous pouvons utiliser la méthode de CLLocations:Comment utiliser la méthode iPhone - (CLLocationDistance) distanceFromLocation: (const CLLocation *) emplacement

(CLLocationDistance)distanceFromLocation:(const CLLocation *)location 

pour ce faire, mais je ne suis pas sûr de savoir comment l'utiliser étant donné les données que j'ai. Comment utiliser la méthode ci-dessus en utilisant des paires de coordonnées de latitude/longitude, étant donné que la méthode ci-dessus ne traite que des objets de localisation de type CLLocation? Quelqu'un peut-il me donner un exemple simple de la façon d'utiliser cette méthode en utilisant deux paires de coordonnées latitude/longitude?

Répondre

8

Il suffit de créer des objets à partir CLLocation vos données:

// Assumption: lat1, lon1 and lat2, lon2 are double values containing the coordinates 
CLLocation *firstLocation = [[[CLLocation alloc] initWithLatitude:lat1 longitude:lon1] autorelease]; 
CLLocation *secondLocation = [[[CLLocation alloc] initWithLatitude:lat2 longitude:lon2] autorelease]; 
CLLocationDistance distance = [secondLocation distanceFromLocation:firstLocation]; 
+0

Merci beaucoup pour votre réponse rapide! – syedfa

+0

Il doit être CLLocation * firstLocation et ainsi de suite. Ils devraient être des pointeurs –

+0

Bonne prise, Francisco, merci. Je vais corriger le code. –