iphone 怎麼獲得自己的當前位置座標
1。首先
#import <CoreLocation/CoreLocation.h>
2。類裡面定義兩個變數:
CLLocationManager * locationManager;
CLLocationCoordinate2D curLocation;
3。 類 實現 CLLocationManagerDelegate 代理。
4。實現代碼:
//獲得自己的當前的位置資訊<br />- (void) getCurPosition<br />{<br />//開始探測自己的位置<br />if (locationManager==nil)<br />{<br />locationManager =[[CLLocationManager alloc] init];<br />}</p><p>if ([CLLocationManager locationServicesEnabled])<br />{<br />locationManager.delegate=self;<br />locationManager.desiredAccuracy=kCLLocationAccuracyBest;<br />locationManager.distanceFilter=10.0f;<br />[locationManager startUpdatingLocation];<br />}<br />}<br />
startUpdatingLocation 是啟動對當前位置的搜尋,只要 當前位置移動的範圍超過 distanceFilter指定的範圍,那麼就會重新收到
最新的座標位置資訊。
如果要關閉對位置的更新,需要調用 stopUpdatingLocation。
5。 如果擷取到使用者的當前位置,會有delegate的函數:
- (void) locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
被調用。
//響應當前位置的更新,在這裡記錄最新的當前位置<br />- (void) locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation<br />fromLocation:(CLLocation *)oldLocation<br />{<br />NSLog(@"newLocation:%@",[newLocation description]);</p><p> //儲存新位置<br /> curLocation=newLocation.coordinate;<br />}