Geolocalização - exmo/equizmo-ios GitHub Wiki

Onde foi utilizado?

Na classe LoginViewController é feita a obtenção da localização do usuário;

Como utilizar?

Para obter a localização é preciso utilizar a classe CLLocationManager. O primeiro passo é configurar a instancia desta classe.

  locationManager = [[CLLocationManager alloc] init];
  locationManager.delegate = self;
  locationManager.desiredAccuracy = 1.0;

Instanciamos e registramos a própria LoginViewController como delegate, significa que ela mesmo será invocada a cada obtenção de localização.

Você deve informar a precisão da medição. Quanto mais precisa mais bateria será utilizada e mais necessário será o uso do GPS, quando a precisão for baixa pode ser utilizada a triangulação de antena.

Utilizamos no projeto uma precisão baixa.

Por enquanto ainda não começamos a obter a localização para isso precisamos dizer ao ios que comece a coletar:

[locationManager startUpdatingLocation];

Agora o locationManager vai começar a atualizar o valor da localização para isto ele vai chamar o método:

- (void)locationManager:(CLLocationManager *)manager
	didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation{
    user.location = newLocation;
    [locationManager stopUpdatingLocation];
    locationManager.delegate = nil;
}

Neste método apenas salvamos a localização do usuário e como não precisaremos mais de atualização desligamos o locationManager para economizar bateria.

O objetivo fosse obter a velocidade ou deslocamento é preciso fazer comparações entre o newLocation e oldLocation.