Je voudrais utiliser l'location de mon user de l'application, plus précisément la valeur de la latitude et de la longitude.
J'ai besoin d'eux pour utiliser une variable, afin que je puisse les envoyer avec une url …
Je n'ai jamais travaillé auparavant sur iOS et Xcode et je n'ai rien trouvé correspondant à mon problème sur Internet …
Donc j'espère que quelqu'un peut l'expliquer à mon avec un exemple de code 🙂
Merci d'aider Laurenz d'Allemagne
Vous pouvez utiliser CoreLocation pour get la longitude et la latitude.
Inclure le cadre:
Cliquez sur votre projet dans le browser.
Cliquez sur le button plus sous "link binary with libraries"
Ajoutez Corelocation à votre projet.
Importez le file d'en-tête:
#import <CoreLocation/CoreLocation.h>
Déclarez CLLocationManager:
CLLocationManager *locationManager;
initialiser locationManager:
- (void)viewDidLoad { locationManager = [[CLLocationManager alloc] init]; locationManager.distanceFilter = kCLDistanceFilterNone; locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; [locationManager startUpdatingLocation]; }
Ensuite, utilisez
float latitude = locationManager.location.coordinate.latitude; float longitude = locationManager.location.coordinate.longitude;
ÉTAPE 1: Ajoutez l'infrastructure CoreLocation dans votre projet.
ÉTAPE 2: Écrivez le code ci-dessous dans le file d'en-tête du controller de vue où l'location doit être récupéré:
#import <CoreLocation/CoreLocation.h>
En outre, ajoutez CLLocationManagerDelegate
dans l'interface.
Maintenant, créez l'object de LocationManager
CLLocationManager *locationManager;
ÉTAPE 3: Dans, méthode ViewDidLoad
écrivez ci-dessous le code:
locationManager = [[CLLocationManager alloc] init]; locationManager.distanceFilter = kCLDistanceFilterNone; locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; [locationManager startUpdatingLocation]; [locationManager requestAlwaysAuthorization]; //Note this one
Vous pouvez définir la valeur desireAccuracy comme kCLLocationAccuracyBest, kCLLocationAccuracyNearestTenMeters, kCLLocationAccuracyHundredMeters, kCLLocationAccuracyKilometer, kCLLocationAccuracyThreeKilometers
Maintenant, écrivez le code ci-dessous pour get la valeur de latitude et de longitude
float Lat = locationManager.location.coordinate.latitude; float Long = locationManager.location.coordinate.longitude; NSLog(@"Lat : %f Long : %f",Lat,Long);
ÉTAPE 4: Dans iOS 8, ce code échoue silencieusement, c'est-à-dire que vous n'obtiendrez aucune erreur ou avertissement.
Vous devez faire deux choses supplémentaires pour que l'location fonctionne:
Une ou les deux keys ci-dessous doivent être ajoutées dans le file Info.plist.
Ceux-ci sont de type Ssortingng et la valeur peut être n'importe quelle description de message ou vide.
Vous devez maintenant requestr une autorisation pour la méthode de localization correspondante. Utilisez l'un des appels ci-dessous:
Rapide:
var locationManager = CLLocationManager() locationManager.distanceFilter = kCLDistanceFilterNone locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters locationManager.startUpdatingLocation()
Plus d'informations ici: https://developer.apple.com/library/mac/documentation/CoreLocation/Reference/CLLocationManager_Class/index.html#//apple_ref/occ/cl/CLLocationManager