Opération de localisation IOS
Opération de positionnement IOS
Introduction
Grâce au positionnement CoreLocation dans IOS, l'emplacement actuel de l'utilisateur peut être obtenu et les informations de mouvement de l'appareil peuvent également être obtenues.
Exemples d'étapes
1. Créez une application simple basée sur View.
2. Sélectionnez le fichier du projet, puis sélectionnez la cible, puis ajoutez CoreLocation.framework, comme indiqué ci-dessous
3 Ajoutez deux étiquettes à ViewController.xib et créez des étiquettes ibOutlet nommées latitudeLabel et longtitudeLabel
4. Sélectionnez maintenant la classe Objective C en sélectionnant " Fichier-> Nouveau -> Fichier... -> " et cliquez sur Suivant
5. Définissez la "sous-classe de" comme NSObject et nommez la classe LocationHandler
6. Sélectionnez Créer.
7. Mettez à jour LocationHandler.h comme indiqué ci-dessous
#import <Foundation/Foundation.h>#import <CoreLocation/CoreLocation.h>@protocol LocationHandlerDelegate <NSObject>@required-(void) didUpdateToLocation:(CLLocation*)newLocation fromLocation:(CLLocation*)oldLocation;@end@interface LocationHandler : NSObject<CLLocationManagerDelegate>{ CLLocationManager *locationManager;}@property(nonatomic,strong) id<LocationHandlerDelegate> delegate;+(id)getSharedInstance;-(void)startUpdating;-(void) stopUpdating;@end
8. Mettez à jour LocationHandler.m comme indiqué ci-dessous
#import "LocationHandler.h"static LocationHandler *DefaultManager = nil;@interface LocationHandler()-(void)initiate;@end@implementation LocationHandler+(id)getSharedInstance{ if (!DefaultManager) { DefaultManager = [[self allocWithZone:NULL]init]; [DefaultManager initiate]; } return DefaultManager;}-(void)initiate{ locationManager = [[CLLocationManager alloc]init]; locationManager.delegate = self;}-(void)startUpdating{ [locationManager startUpdatingLocation];}-(void) stopUpdating{ [locationManager stopUpdatingLocation];}-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation: (CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{ if ([self.delegate respondsToSelector:@selector (didUpdateToLocation:fromLocation:)]) { [self.delegate didUpdateToLocation:oldLocation fromLocation:newLocation]; }}@end
9. Mettez à jour ViewController.h comme indiqué ci-dessous
#import <UIKit/UIKit.h>#import "LocationHandler.h"@interface ViewController : UIViewController<LocationHandlerDelegate>{ IBOutlet UILabel *latitudeLabel; IBOutlet UILabel *longitudeLabel;}@end
10.
SortieLorsque nous exécutons l'application, nous obtiendrons le résultat suivant :