Swift / iPhone - Как вы узнаете, в каком полушарии вы находитесь? [dубликат]

Сначала я реализовал функции диспетчера местоположений в своем классе, а whict работает нормально и дает мне текущее местоположение. С этого места я получил, как получить градусы места отсюда. но я не могу получить направление (т. е. Север, Юг, Восток, Запад). Я тоже это сказал. Я хочу, чтобы местоположение, которое я получаю, отображается в градусах с таким форматом направления. то есть менеджер местоположений дает мне + 37.33019332, -122.02298792, и я хочу что-то вроде 37 ° 19 '49 "N, -122 ° 1' 23" E. Я получаю все, просто не знаю, как получить последние «N» и «E». Если я использую CLLocation.course для этого, я получаю направление. Любая помощь будет оценена.

0
задан 24 July 2012 в 10:08

1 ответ

Используйте этот код и поместите 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];
    }
  }
2
ответ дан 15 August 2018 в 16:00
  • 1
    это вернет направление компаса. Мне это не нужно. в любом случае спасибо за вашу помощь. – Himanshu A Jadav 24 July 2012 в 11:35
  • 2
    @Nims Но это неверно, так как он возвращает NULL для значения от 0 до 360 градусов. – Jayprakash Dubey 6 December 2013 в 16:30

Другие вопросы по тегам:

Похожие вопросы: