comment faire pour obtenir l'emplacement actuel de latitude et de longitude dans objective-c
J'utilise le code suivant pour obtenir de l'emplacement actuel,j'ai ajouté le framework corelocation
- (void)viewDidLoad {
[super viewDidLoad];
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone; //whenever we move
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; //100 m
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
int degrees = newLocation.coordinate.latitude;
double decimal = fabs(newLocation.coordinate.latitude - degrees);
int minutes = decimal * 60;
double seconds = decimal * 3600 - minutes * 60;
NSString *lat = [NSString stringWithFormat:@"%d° %d' %1.4f\"",
degrees, minutes, seconds];
NSLog(@" Current Latitude : %@",lat);
//latLabel.text = lat;
degrees = newLocation.coordinate.longitude;
decimal = fabs(newLocation.coordinate.longitude - degrees);
minutes = decimal * 60;
seconds = decimal * 3600 - minutes * 60;
NSString *longt = [NSString stringWithFormat:@"%d° %d' %1.4f\"",
degrees, minutes, seconds];
NSLog(@" Current Longitude : %@",longt);
//longLabel.text = longt;
}
Mais j'obtiens les valeurs par défaut je.e, Latitude : 42° 17' 36.8898" et Longitude : -71° 27' 43.1003"
d'où ma Latitude:N 12° 56' 11.5624" et Longitude:E 77° 32' 41.0834". Comment obtenir exactement la latitude et la longitude.
où je fais l'erreur ou dois-je besoin d'ajouter toute autre méthode ou d'une fonction ou d'un cadre.
Merci d'Avance.
- Avez-vous testé sur un périphérique réel ou simulateur?
- Avez-vous activé les services de localisation sur votre appareil?
- J'ai testé sur simulateur.
- Je ne suis pas de contrôle sur l'appareil
- Avez-vous activer la localisation simulator sur votre XCode?
- Je doute que vous obtiendrez emplacement réel des données sur le simulateur. Aller de l'avant et de l'installer sur l'appareil.
- comment faire pour activer l'emplacement simulateur sur Xcode.
- voir ma réponse , mais il a ses limites
Vous devez vous connecter pour publier un commentaire.
Tester l'application sur un périphérique réel. Le Simulateur vous indique toujours la valeur par défaut pour la Latitude et la Longitude. Assurez-vous également que les services de localisation sont activés sur votre appareil.
Vous pouvez ajouter cette méthode où vous avez besoin pour obtenir le courant de la latitude et de la longitude:
Et de l'appeler utilisation:
coordinate
s sont (null) lorsque j'essaie de t y accéder directement. Et l'impression, si le code a peu de temps, les coordonnées sont livrés. Semble comme un problème de synchronisation.Vous avez pour tester le service de localisation de l'appareil, pas de simulateur, mais vous pouvez activer la localisation de simulation sur simulateur, voir mon image en pièce jointe, le symbole de l'icône. Mais ce ne sera pas votre position exacte! Mais au moins, vous pouvez vérifier votre code de travail
product
->Edit Scheme
->Options
->sélectionnezAllow Location simulation
ensuite, vous aurez l'icône X slash est de mentionner, même si vous activez que vous n'obtiendrez pas votre de latitude et de longitudeVous avez besoin de tester sur un appareil pour obtenir votre emplacement actuel de la latitude et de la longitude, je devine que vous êtes l'obtention de Cupertino latitude et de longitude qui est un défaut.
D'abord, Vous devez activer le Service de Localisation de votre Simulateur. Debug -> Emplacement. La plupart des cas, vous serez l'obtention de la lat et long valeurs de Cupertino. Et vous pouvez personnaliser les emplacements pour cette option en sélectionnant la deuxième option(Emplacement Personnalisé). Cette option sera automatiquement déclenchée lorsque nous sommes en sélectionnant l'emplacement lors de l'exécution dans le Débogage de la zone.