MapKit एनोटेशन और उपयोगकर्ता स्थान

वोट
2

मैं इस ट्यूटोरियल मेरी पहली ऐप्स बनाने के लिए पीछा किया:

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

08/05/2010 को 19:06
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
3

एक पर CLLocationआप उपयोग कर सकते हैं

- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location

दूसरे से एक वस्तु की दूरी की गणना करने के लिए। इस मामले में, यह शायद उपयोगकर्ता के वर्तमान स्थान होगा।

डेटा एक में है, तो NSArrayआप उपयोग कर सकते हैं sortedArrayUsingFunctionएक सहायक समारोह है कि इस विधि कॉल कॉल करने के लिए।

08/05/2010 को 19:40
का स्रोत उपयोगकर्ता

वोट
1

CLLocations के माध्यम से लूप और उन्हें और अपने वर्तमान स्थान के बीच की दूरी पाते हैं।

फिर दूरी आप एक सरणी में कर रहे हैं सॉर्ट करने के लिए अपनी खुद की छंटाई एल्गोरिथ्म का उपयोग करें।

for (CLLocation *loc in locations) {
  [distances addobject:[currentLocation distanceFromLocation:loc]];
}
[distances sort]; /* Own sorting algorithm */
[yourTable reloadData];
04/03/2011 को 08:54
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more