Получение высоты (высоты от уровня моря) моего местоположения в iphone SDK
Я пытаюсь получить высоту моего местоположения в моем приложении. Но каждый раз, когда я пытаюсьaltitude
собственностьюCLLocation
объект, который я получаю0.00
в результате.
Я погуглил свой запрос и получил похожий вопросВот а такжеВот, Эта ссылка говорит, что если я получу доступ к CLLocation с помощью Wi-Fi или сотовой вышки, он будет нулевым. Даже если я попытаюсь установитьdesireAccuracy
Лучше, чем когда-либо, убедитесь, что приложение будет использовать GPS. Также говорится, что если я в помещении, я не смогу получить доступ к GPS.
Во многих случаях это не уверен, что приложение будет использовать только GPS. Я хочу какой-то способ получить высоту от Wi-Fi или сотовой башни тоже. За это я погуглил еще и получилGoogle Планета Земля API но я думаю, что это только для технологии Microsoft .net.
Теперь, в соответствии с этой ситуацией, я думаю, что для решения я могу создать веб-сервис в Microsoft Technology и передать туда свое местоположение, и я могу получить высоту в качестве ответа, но я не хочу этого делать.
Может ли кто-нибудь предложить мне, как получить высоту моего местоположения от ios. Есть ли доступный способ или нет? Если да, то, пожалуйста, проведите меня в правильном направлении.
Заранее спасибо.
Edit1
я использовалCLLocationManager
для обновления местоположения и когда я получу свое местоположение, мне нужна высота.
Edit2
Согласно ответу @ fishinear'а, я попробовал следующий код:
- (void)viewDidLoad
{
[super viewDidLoad];
manager = [[CLLocationManager alloc] init];
[manager setDesiredAccuracy:kCLLocationAccuracyBestForNavigation];
[manager setDistanceFilter:kCLDistanceFilterNone];
[manager setDelegate:self];
[manager startUpdatingLocation];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
if ([newLocation verticalAccuracy] >= 0) {
NSLog(@"Altitude = %lf",newLocation.altitude);
}
NSLog(@"Vertical Accuracy : %lf",newLocation.verticalAccuracy);
}
verticalAccuracy
всегда-1
, Он не меняется даже после запуска приложения до последних 30 минут. Я бегу на iOS 4.3.2 на моем 3GS. Я нахожусь в помещении, поэтому я думаю, что это не доступ к GPS с использованием этого кода даже.