MapKit Stempler og bruker plassering

stemmer
2

Jeg fulgte denne opplæringen for å gjøre min første app:

http://icodeblog.com/2009/12/21/introduction-to-mapkit-in-iphone-os-3-0/

Jeg vil gjerne vite hvordan du vil sortere kommentarer i tabellen etter avstand til brukeren (nærmeste merknaden er den første på bordet) Hvordan er det mulig å gjøre det?

Jeg forstår at jeg må bruke CLLocation å finne brukerens plassering, men da har jeg ingen anelse om.

Kan noen hjelpe meg?

Jubel,

På forhånd takk for din mye verdsatt hjelp,

EDIT: Jeg har lagt til detaljer:

dataene er ikke i en matrise, blir gjennomført i RootViewController.m i dette skjemaet:

-(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];

... og så videre. Hvordan er det mulig å gjøre det da?

Du kan finne kildekoden her:

icodeblog.com/wp-content/uploads/2009/09/iCodeMap.zip

teddafan

Publisert på 08/05/2010 klokken 18:06
kilden bruker
På andre språk...                            


2 svar

stemmer
3

På en CLLocationkan du bruke

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

å beregne avstanden til en gjenstand fra en annen. I dette tilfellet ville det antagelig være brukerens nåværende plassering.

Hvis dataene er i en NSArraykan du bruke sortedArrayUsingFunctiontil å ringe en hjelpefunksjon som kaller denne metoden.

Svarte 08/05/2010 kl. 18:40
kilden bruker

stemmer
1

Loop gjennom CLLocations og finne avstanden mellom dem og din nåværende posisjon.

Deretter kan du bruke din egen sortering algoritme for å sortere avstandene du har i en matrise.

for (CLLocation *loc in locations) {
  [distances addobject:[currentLocation distanceFromLocation:loc]];
}
[distances sort]; /* Own sorting algorithm */
[yourTable reloadData];
Svarte 04/03/2011 kl. 07:54
kilden bruker

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