iPhone SDK: Track gebruikers locatie met behulp van GPS

stemmen
2

Ik heb een paar vragen over CoreLocation en GPS.

Ten eerste, wat methode in de kern plaats wordt gebruikt om voortdurend krijgen de gebruikers huidige coördinaten? En met welke interval moeten deze worden opgehaald?

Ten tweede dienen deze coördinaten worden geduwd in een NSMutableArray telkens daarna worden ontvangen, waardoor de array van coördinaten gebruikers pad in?

Thanks, gewoon willen aan de slag om me erg rond dit.

De vraag is gesteld op 19/05/2010 om 15:15
bron van user
In andere talen...                            


4 antwoorden

stemmen
11

Een zeer verkorte versie:

In de eerste plaats vast te stellen het <CLLocationManagerDelegate>protocol in je .h, en #import <CoreLocation/CoreLocation.h>.

Toen in .m go:

- (void)viewDidLoad {
    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    [locationManager startUpdatingLocation];
}


-(void)locationManager:(CLLocationManager *)manager
   didUpdateToLocation:(CLLocation *)newLocation
          fromLocation:(CLLocation *)oldLocation
{
    CLLocationCoordinate2D here =  newLocation.coordinate;
    NSLog(@"%f  %f ", here.latitude, here.longitude);
}

Uw -(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocationmethode krijgt gepingeld elke keer Core Location heeft iets te zeggen, dat om de paar seconden zou moeten gebeuren. die CLLocation objecten bevatten informatie over de nauwkeurigheid, dus je kunt het scherm voor goede punten in die methode.

Wees er zeker van te bellen [locationManager stopUpdatingLocation]en dan [locationManager release]op een gegeven moment!

Good luck het vinden van jezelf!

antwoordde op 19/05/2010 om 16:27
bron van user

stemmen
1

Je moet het volgende doen:

  1. Als het apparaat geen toegang tot internet
    1. Get coördinaten van GPS-apparaat
    2. Stuur deze coördinaten via SMS
    3. Ontvangen en decoderen SMS-bericht op de SMS gateway wat je hoeft te configureren om informatie van het apparaat ontvangen.
    4. Werk de informatie over de toepassing database of een andere winkel die je gebruikt
    5. Werk de positie op de kaart met de nieuwste info
  2. Als apparaat toegang heeft tot internet
    1. Get coördinaten van GPS-apparaat
    2. Verbinding maken met applicatieserver (kan enige dienst) en informatie uploaden
    3. Werk de informatie over de toepassing database of een andere winkel die je gebruikt
    4. Werk de positie op de kaart met de nieuwste info
antwoordde op 30/08/2012 om 14:02
bron van user

stemmen
1

Je bent in staat om te definiëren wat bereik aanvaardbaar is voor de nauwkeurigheid en hoe vaak u automatische updates wilt ontvangen (op basis van een afstand van laatste punt mechanisme) is. Ook kun je gewoon uitschakelen van de locatiemanager en zet hem weer aan bij zal thru sommige gebruik van een timer.

Als voor het opslaan van de locaties om een ​​pad, het is niet zo eenvoudig op te bouwen. Je zal voortdurend krijgt GPS-locaties in eerste instantie tot de gewenste nauwkeurigheid is bereikt, en voor alle punten in de toekomst kunt u meer dan één die onjuist voordat je een goede locatie te krijgen. Dus het bouwen van een lijst van deze punten zal in principe slechts een lijst van hun pad, samen met een heleboel extra punten. U kunt dit oplossen door te sparen alleen die punten die de nauwkeurigheid die u wenst te hebben, maar het is een onvolmaakte wereld op dit gebied.

Beste geval zou ik stel voor dat je twee lijsten te houden, is men het pad en de andere is een lopende lijst van locaties waar je vergelijkt totdat u een zeer nauwkeurige locatie te krijgen, dan zetten die op uw lijst pad. Sommige van de voorbeeldprojecten dingen doen langs deze lijnen, doen check ze uit.

antwoordde op 19/05/2010 om 16:15
bron van user

stemmen
1

De beste manier om gelezen wordt de CLLocationManager Class Reference , die links naar een aantal voorbeeldprojecten. De korte versie:

  1. Stel de delegatewoning aan een klasse die locatie-updates te ontvangen.
  2. Uitvoering van het CLLocationManagerDelegateprotocol in de gemachtigde.
  3. Bel de appopriate methoden om te beginnen met het bijwerken van de locatie en / of post.
antwoordde op 19/05/2010 om 15:24
bron van user

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