Prenant de l'Altitude(hauteur à partir du niveau de la mer) de mon emplacement dans le SDK de l'iphone

Je suis en train d'essayer d'obtenir l'Altitude de ma position dans mon application. Mais chaque fois que j'essaie altitude propriété de CLLocation objet, je suis 0.00 comme résultat.

J'ai googlé pour ma requête et j'ai eu une question similaire ici et ici. Ce lien est à dire que si j'ai accès CLLocation avec le wifi ou la cellule de la tour, il sera null. Même si j'essaie de régler desireAccuracy de mieux que de même il n'est pas assurez-vous que l'application va utiliser le GPS. Il dit aussi que si je suis à l'intérieur que je ne vais pas être en mesure d'accéder GPS.

J'ai de nombreux cas, il son pas certain que l'application utilisera le GPS uniquement. Je veux un moyen pour obtenir de l'Altitude, de wifi ou de la cellule de la tour de trop. Pour cela, j'ai googlé et de plus je suis L'API Google Earth mais je pense que c'est pour Microsoft .net de la technologie.

Maintenant en fonction de cette situation, je pense que pour une solution je peux créer un service web en Technologie Microsoft et passer mon endroit, il y et je prends de l'altitude comme réponse, mais je ne veux pas faire ça.

Quelqu'un peut-il me suggérer comment obtenir mon emplacement de l'altitude à partir de ios. Est-il possible disponible ou pas? Si oui qu'veuillez naviguer à moi dans la bonne direction.

Merci d'avance.

Edit1

J'ai utilisé CLLocationManager pour l'emplacement de mise à jour et quand je reçois mon emplacement, j'ai besoin de l'altitude.

Edit2

Selon @fishinear la réponse que j'ai essayé le code suivant:

- (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 est toujours -1. Il ne change pas, même après l'exécution de l'application pour les 30 dernières Minutes. Je suis runnin ios 4.3.2 sur mon 3GS. Je suis à l'intérieur je pense donc qu'il n'y a pas accès GPS à l'aide de ce même code.

OriginalL'auteur Kapil Choubisa | 2012-05-17