2013-02-18 4 views
1

J'utilise ce code pour obtenir la longitude et la latitude.ios CLLocationManager didUpdateToLocation Latitude et longitude de migration

(void)locationManager:(CLLocationManager *)manager 
    didUpdateToLocation:(CLLocation *)newLocation 
     fromLocation:(CLLocation *)oldLocation { 
    NSLog(@"%f",newLocation.coordinate.latitude); 
    self.location = newLocation; 
} 

Mais la longitude et la latitude que j'ai eu a l'excursion avec la position géographique réelle. Comment résoudre ce problème?

+1

Je ne comprends pas la question. Pouvez-vous expliquer ce que vous attendez? –

+0

Je veux connaître la longitude et la latitude. mais il a l'excursion avec la position géographique réelle. Comment pourrais-je obtenir la position exacte? – DaringLi

Répondre

1

Vous devez tester la précision de l'objet CLLocation renvoyé et vérifier qu'il répond aux critères de précision de votre emplacement.

if (newLocation.horizontalAccuracy > 1000) { 
    // Throw away this location and wait for another one as this is over 1km away 
} 

En outre, la méthode locationManager:didUpdateToLocation:fromLocation: a été dépréciée dans iOS6 vous devez donc utiliser locationManager:didUpdateLocations: si vous iOS6 + ciblage.

+0

si je compatible 5 ou 6. comment écrire le code? – bonnie

+0

Vous devez tester si la classe prend en charge la méthode avec la méthode 'respondsToSelector:' - vérifiez https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/ NSObject.html # // apple_ref/occ/intfm/NSObject/respondsToSelector: pour plus d'informations. – rickerbh

Questions connexes