내 응용 프로그램에서 내 위치의 고도를 얻으려고합니다. 하지만 때마다 CLLocation
개체의 altitude
속성을 시도 할 때 나는 결과로 0.00
을 얻고 있습니다.iPhone SDK의 내 위치 고도 (해발 고도)를
내 질문에 Google 검색하고 비슷한 질문이 here 및 here 있어요. 이 링크는 Wi-Fi 또는 셀 타워로 CLLocation에 액세스하면 null이 될 것이라고 말합니다. 심지어 desireAccuracy
을 설정하려고해도 앱이 GPS를 사용하는지 확인하지 않아도됩니다. 실내에 있다면 GPS에 접속할 수 없다는 것입니다.
나는 많은 경우 앱이 GPS 만 사용할 것인지 확신하지 못합니다. 나는 wifi 또는 셀 타워에서 고도를 얻는 것을위한 어떤 방법을 원한다. 그것을 위해 나는 더 많은 googled와 나는 Google Earth API을 가지고있다. 그러나 나는 이것이 마이크로 소프트 .net 기술만을 위해있다라고 생각한다.
이제이 상황에 따라 Microsoft 기술에서 웹 서비스를 만들고 거기에 내 위치를 전달할 수있는 해결책이 있다고 생각하며 고도를 응답으로받을 수는 있지만이를 원하지는 않습니다.
누구나 내 위치의 고도를 어떻게 얻을 수 있는지 제안 할 수 있습니까? 사용할 수있는 방법이 있습니까? 그렇다면 올바른 방향으로 나를 이동하십시오. 사전에
감사합니다.
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에서 4.3.2를 실행 중입니다. 나는이 코드를 사용하여 GPS에 액세스하지 않는다고 생각하므로 실내입니다.
이 URL을 사용해 보았는데 x 및 y 값을 각각 '22.998851594142938' 및'72.5317382812553173828125 '로 전달했으며 응답은'-1.79769313486231E + 308 '입니다. 이걸 내가 어떻게 이해하니? 이걸로 높이를 얻는 방법? 덕분에 –
. 귀하의 수정 된 답변이 도움이되었습니다. https://developers.google.com/maps/documentation/javascript/elevation 이것이 내가 찾고있는 것입니다. –