2010-12-31 1 views
0

J'ai un plist avec 12 objets avec des clés uniques (disons 1, 2, 3, etc.). Chaque objet contient un tableau (clé: clubLocations) avec 100 - 200 objets.d'un tableau meilleur match longitude/latitude d'emplacements possibles

Chaque objet du tableau clubLocations contient une clé longitude et latitude avec l'emplacement d'un club.

Je voudrais une aide à la création d'une méthode qui fait une boucle à travers chaque objet pour chaque clubLocations dans tous les 12 objets et découvre ce qui est clubLocation le match le plus proche des coordonnées des utilisateurs.

donc essentiellement objectera 1/2/3/etc -> clubLocations objectAtIndex: 0/1/2/3/etc -> meilleur match?

J'ai les coordonnées de l'utilisateur, de sorte que « juste » besoin d'aide pour trouver les emplacements les plus proches de mon plist. Merci d'avance et n'hésitez pas à demander dans un commentaire si je ne suis pas assez clair.

+0

Avez-vous besoin d'aide pour calculer la distance, ou vous voulez savoir comment programmer une boucle? –

+0

Assistance pour déterminer quel emplacement est le plus proche en fonction de sa longueur/lat et de la longueur/lat de l'utilisateur, qu'il s'agisse de cadres disponibles ou de boucles traversantes. – runmad

Répondre

0

En pseudocode:

min_distance = MAXINT 
closest = None 
for obj in objects: 
    for club in obj.clubLocations: 
    d = distance(club.longitude, club.latitude, user.longitude, user.latitude) 
    if d < min_distance: 
     min_distance = d 
     closest = club 
+1

Merci. Bien que cela ne compte pas comme une réponse complète, je l'ai sélectionné. Cela m'a conduit à 'CLLocationDistance' qui est intégré et calcule rapidement la distance entre deux' CLLocations', au cas où quelqu'un d'autre chercherait cette solution :) – runmad

Questions connexes