我跟着這個教程,使我的第一個應用程序:MapKit註釋和用戶位置
http://icodeblog.com/2009/12/21/introduction-to-mapkit-in-iphone-os-3-0/
我真的想知道如何在表中的註釋中距離的順序對用戶進行排序(中最近的註釋是桌子上的第一個註釋)怎麼可能做到這一點?
我知道我必須使用CLLocation來查找用戶的位置,但我不知道。
任何人都可以幫助我嗎?
乾杯,
預先感謝您爲您的十分寶貴的幫助,
編輯:我添加細節:
的數據不是在一個陣列,它是在RootViewController的實現。 m在這種形式:
-(void)loadOurAnnotations
{
CLLocationCoordinate2D workingCoordinate;
workingCoordinate.latitude = 40.763856;
workingCoordinate.longitude = -73.973034;
iCodeBlogAnnotation *appleStore1 = [[iCodeBlogAnnotation alloc]
initWithCoordinate:workingCoordinate];
[appleStore1 setTitle:@"Apple Store 5th Ave."];
[appleStore1 setSubtitle:@"Apple's Flagship Store"];
[appleStore1 setAnnotationType:iCodeBlogAnnotationTypeApple];
[mapView addAnnotation:appleStore1];
...等等。那麼怎麼做呢?
你可以找到源代碼在這裏:
icodeblog.com/wp-content/uploads/2009/09/iCodeMap.zip
teddafan
我添加了詳細信息,因爲我的數據不在數組中! – teddafan 2010-05-08 19:14:35
也許應該是,如果你想對它們進行排序。 – Nick 2010-05-08 20:08:42
查看您的修改代碼,您可能希望將每個appleStore#數據項放入字典中作爲鍵/值對(名稱,說明,位置等),然後將每個Dictionary添加到數組中。根據距離對數組運行排序,然後遍歷數組,並將每個項目添加爲地圖的註釋。當需要顯示數據表時,您必須爲該表設置一個dataSource,並將該數組作爲排序數組。建議您將計算出的CLLocationDistance也存儲在數組中(作爲NSNumber),並將其顯示在表中的人類可讀值(即300英尺,3英里)中。 – Ramin 2010-05-09 01:03:08