アプリケーションで現在地の高度を取得しようとしています。しかし、オブジェクトaltitude
のプロパティを試すたびに、結果として得られます。CLLocation
0.00
クエリをグーグルで検索したところ、こことここで同様の質問がありました。このリンクは、wifiまたはセルタワーでCLLocationにアクセスするとnullになることを示しています。最適に設定しようとしてもdesireAccuracy
、アプリが GPS を使用するかどうかはわかりません。また、屋内にいると GPS にアクセスできないとも言われています。
多くの場合、アプリが GPS のみを使用するかどうかはわかりません。Wi-Fi やセルタワーからも高度を取得する方法が必要です。そのために、さらにググってGoogle Earth APIを入手しましたが、これは Microsoft .net テクノロジ専用だと思います。
この状況によると、マイクロソフト テクノロジで Web サービスを作成し、そこに自分の場所を渡すことができるソリューションを考えています。応答として高度を取得できますが、これはしたくありません。
iOS から現在地の高度を取得する方法を教えてください。利用可能な方法はありますか?はいの場合は、正しい方向に私をナビゲートしてください。
前もって感謝します。
編集1
位置の更新に使用CLLocationManager
しましたが、位置を取得するときに高度が必要です。
編集2
@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 にアクセスしていないと思います。