我试图让我的位置的海拔高度在我的应用程序。 但每次我尝试altitude
的财产CLLocation
对象我得到0.00
的结果。
我用Google搜索我的查询,我得到了一个类似的问题在这里和这里 。 此链接说如果我有WiFi或基站访问CLLocation这将是空。 即使我尝试设置desireAccuracy
比最好的,甚至它不确保应用程序将使用GPS。 它也说,如果我是室内,我将无法访问GPS。
我很多情况下,它不能确定该应用将只使用GPS。 我想从WiFi或手机塔获得高度过一些方法。 对于我GOOGLE了更多,我得到了谷歌地球API ,但我认为这是唯一的微软.NET技术。
现在,根据这种情况,我认为一个解决方案,我可以在Microsoft技术的Web服务,并通过我的位置那里,我可以得到高度的反应,但我不想这样做。
任何人都可以建议我如何从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分钟。 我飞奔在我的3GS IOS 4.3.2。 我是室内,所以我认为它甚至使用此代码不能访问GPS。