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.