Сначала я реализовал функции диспетчера местоположений в своем классе, а whict работает нормально и дает мне текущее местоположение. С этого места я получил, как получить градусы места отсюда. но я не могу получить направление (т. е. Север, Юг, Восток, Запад). Я тоже это сказал. Я хочу, чтобы местоположение, которое я получаю, отображается в градусах с таким форматом направления. то есть менеджер местоположений дает мне + 37.33019332, -122.02298792, и я хочу что-то вроде 37 ° 19 '49 "N, -122 ° 1' 23" E. Я получаю все, просто не знаю, как получить последние «N» и «E». Если я использую CLLocation.course для этого, я получаю направление. Любая помощь будет оценена.
Используйте этот код и поместите CLLocationManagerDelegate в файл .h
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
{
updatedHeading = newHeading.magneticHeading;
float headingFloat = 0 - newHeading.magneticHeading;
rotateImg.transform = CGAffineTransformMakeRotation(headingFloat*radianConst);
float value = updatedHeading;
if(value >= 0 && value < 23)
{
compassFault.text = [NSString stringWithFormat:@"%f° N",value];
}
else if(value >=23 && value < 68)
{
compassFault.text = [NSString stringWithFormat:@"%f° NE",value];
}
else if(value >=68 && value < 113)
{
compassFault.text = [NSString stringWithFormat:@"%f° E",value];
}
else if(value >=113 && value < 185)
{
compassFault.text = [NSString stringWithFormat:@"%f° SE",value];
}
else if(value >=185 && value < 203)
{
compassFault.text = [NSString stringWithFormat:@"%f° S",value];
}
else if(value >=203 && value < 249)
{
compassFault.text = [NSString stringWithFormat:@"%f° SE",value];
}
else if(value >=249 && value < 293)
{
compassFault.text = [NSString stringWithFormat:@"%f° W",value];
}
else if(value >=293 && value < 350)
{
compassFault.text = [NSString stringWithFormat:@"%f° NW",value];
}
}