GPS получить долготу и высоту отдельно

Я использую этот код для получения данных GPS

- (void)locationUpdate:(CLLocation *)location {
    locLabel.text = [location description];
}

результат выглядит так

<+38.76856432, +11.99454301> +/- 100,00 м (скорость......)

когда я пытаюсь это сделать, у меня появляется ошибка,

- (void)locationUpdate:(CLLocation *)location {
    locLabel.text = [location altitude];}

ошибка

Присвоить "NSString *" из несовместимого типа CLLocationDistance (он же double)

я тоже хочу получить долготу

2 ответа

Решение

Вы должны быть в состоянии получить широту и долготу отдельно от location.coordinate.latitude а также location.coordinate.longitude,

Высота, которую вы получаете, может быть недействительной. Проверьте значение в location.verticalAccuracy, Согласно документации, "Отрицательное значение указывает, что значение высоты недействительно". То же самое касается location.horizontalAccuracy чтобы убедиться, что значения широты и долготы в location.coordinate действительны.

altitude свойство типа CLLocationDistance, который является typedef за double, Вы пытаетесь присвоить номер свойству, которое ожидает строку. Вам необходимо создать строковое представление числа. Используйте что-то вроде этого:

locLabel.text = [NSString stringWithFormat:@"%f", [location altitude]];
Другие вопросы по тегам