过年后第一次来上班,那么我们来说说iOS上的定位服务首先说定位共分三种方法,第一利用WiFi,第二是移动蜂窝网络,第三是利用GPS然后是iPod touch上是不具备GPS模块的,所以不能利用GPS进行定位最后想说的是,因为老板不相信iPhone可以利用GPS,所以下面的例子可以在关闭WiFi,并且拔出sim卡的情况下,进行测试的,亲测有效开始第一步,导入框架 CoreLocation第二步,引入框架并设置相应的协议,设置好变量#import#import#import@interface MeViewController : UIViewController{
UIButton *button;
//位置相关
CLLocationManager *location;
}
@end
第三步,初始化 location
//定位服务
location = [[CLLocationManager alloc] init]; //初始化
location.delegate = self; //设置代理
location.desiredAccuracy = kCLLocationAccuracyBest; //设置精度
location.distanceFilter = 1000.0f; //表示至少移动1000米才通知委托更新
[location startUpdatingLocation]; //开始定位服务
第四步,实现委托代码,获取位置后弹出信息
//定位信息
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
CLLocation *currLocation = [locations lastObject];
float lat = currLocation.coordinate.latitude; //正值代表北纬
float lon = currLocation.coordinate.longitude; //正值代表东经
if (lat != 0 && lon != 0)
{
NSString *string = [NSString stringWithFormat:@"您的当前位置为%f,%f",lat,lon];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"位置信息" message:string delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"确认", nil];
[alert show];
}
}
第五步,出于责任心,在离开该页面之后要关闭定位服务
-(void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[location stopUpdatingLocation];
}
网友评论