iOS-定位服务

过年后第一次来上班,那么我们来说说iOS上的定位服务

首先说定位共分三种方法,第一利用WiFi,第二是移动蜂窝网络,第三是利用GPS

然后是iPod touch上是不具备GPS模块的,所以不能利用GPS进行定位

最后想说的是,因为老板不相信iPhone可以利用GPS,所以下面的例子可以在关闭WiFi,并且拔出sim卡的情况下,进行测试的,亲测有效

开始

第一步,导入框架 CoreLocation

第二步,引入框架并设置相应的协议,设置好变量

#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
#import <CoreLocation/CLLocationManagerDelegate.h>


@interface MeViewController : UIViewController<CLLocationManagerDelegate>
{

    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];
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值