1. Create the Cllocationmanager object and become its proxy
-(Cllocationmanager *) mgr{ if (! _mgr) { = [[Cllocationmanager alloc] init]; } return _mgr;}
Self.mgr. delegate = self;
2. Get started with user location
[Self.mgr startupdatingheading];
3. Implement functions within the Proxy method
//called when the user direction is acquired .- (void) Locationmanager: (Cllocationmanager *) Manager didupdateheading: (clheading *) newheading{//NSLog (@ "%s", __func__); /*magneticheading device and magnetic north relative angle trueheading set relative to True north, must be used in conjunction with positioning, iOS needs to set the location to calculate true North True north always pointing to the geographic North Pole*///NSLog (@ "%f", newheading.magneticheading); //1. Convert the acquired angle to radians = (angle * π)/;CGFloat angle = newheading.magneticheading * M_PI/ the; //2. Rotate the picture /*Clockwise positive counter-clockwise negative*///self.compasspointer.transform = cgaffinetransformidentity;Self.compasspointer.transform = Cgaffinetransformmakerotation (-angle); }
iOS Compass implementation (corelocation)