2010-12-31 8 views
0

私は一意のキーを持つ12個のオブジェクトを持つplistを持っています(1、2、3などと言いましょう)。各オブジェクトには、100〜200個のオブジェクトを含む配列(キー:clubLocations)が含まれています。可能な場所の配列からの最高の経度/緯度の一致を見つけよう

clubLocationsアレイ内の各オブジェクトには、longitudelatitudeキーがクラブの所在地に含まれています。

私はすべて clubLocations毎 12オブジェクトにためを介しオブジェクトをループし、clubLocationユーザー座標に最も近い一致である見つけ出し作成方法において、いくつかの支援を希望。

オブジェクト1/2/3/etc - > clubLocations objectAtIndex:0/1/2/3/etc - >ベストマッチ?

私はユーザーの座標を持っていますので、「ちょうど」私のplistから最も近い場所を見つけるために援助が必要です。事前にありがとうと私は十分に自分自身を明確にしていない場合はコメントで尋ねることを躊躇しないでください。擬似コードで

+0

あなたが距離を計算するための支援を必要とするか、ループをプログラムする方法を知りたいですか? –

+0

利用可能なフレームワークであろうとループであろうと、ロング/ラットとユーザーのロング/ラットに基づいて最も近い場所を特定する支援。 – runmad

答えて

0

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

ありがとうございます。これは完全な答えとはみなされませんが、私はそれを選択しました。それは私が 'CLLocationDistance'に導きます。これは、他の誰かがこの解決策を探していた場合に備えて、2つの' CLLocations'からの距離を迅速に計算します。 – runmad

関連する問題