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

CoreLocation_Library_Addition

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.

Sortie

Lorsque nous exécutons l'application, nous obtiendrons le résultat suivant :

locationOutput