zoukankan      html  css  js  c++  java
  • iOS 定位功能的实现

    1、导入框架

     Xcode中添加“CoreLocation.framework”

    2、导入主头文件

     #import <CoreLocation/CoreLocation.h>

    3、声明管理器和代理

     @interface ViewController ()<CLLocationManagerDelegate>
     @property (nonatomic, strong) CLLocationManager* locationManager;
     @end

    4、在appDelegate或控制器中 初始化管理器

    //定位管理器
        self.locationManager=[[CLLocationManager alloc]init];
        
        if (![CLLocationManager locationServicesEnabled]) {
           SSLog(@"定位服务当前可能尚未打开,请设置打开!");
            //return;
        }
        
        //如果没有授权则请求用户授权
        if ([CLLocationManager authorizationStatus]==kCLAuthorizationStatusNotDetermined){
            [self.locationManager requestWhenInUseAuthorization];// 当使用app时获取位置
    //        [self.locationManager requestAlwaysAuthorization];// 一直获取位置
        }
        //设置代理
        self.locationManager.delegate = self;
        //设置定位精度
        self.locationManager.desiredAccuracy=kCLLocationAccuracyBest;
        //定位频率,每隔多少米定位一次
        CLLocationDistance distance = 10.0;//十米定位一次
        self.locationManager.distanceFilter=distance;
        //启动跟踪定位
        [self.locationManager startUpdatingLocation];

    5、代理方法

    // 跟踪定位代理方法,每次位置发生变化即会执行(只要定位到相应位置)
    -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
        CLLocation *location=[locations firstObject];//取出第一个位置
        CLLocationCoordinate2D coordinate=location.coordinate;//位置坐标
        self.coordinate = coordinate;
        SSLog(@"经度:%f,纬度:%f,海拔:%f,航向:%f,行走速度:%f",coordinate.longitude,coordinate.latitude,location.altitude,location.course,location.speed);
        //如果不需要实时定位,使用完即使关闭定位服务
        [self.locationManager stopUpdatingLocation];
    }

    6、在plist文件中设置

    NSLocationWhenInUseUsageDescription   后面对应的是使用时对用户的说明

  • 相关阅读:
    全国计算机等级考试二级教程-C语言程序设计_第10章_字符串
    网易云课堂_程序设计入门-C语言_第六章:数组_2鞍点
    arcgis api for silverlight开发系列之二:缓存图层与动态图层及图层总结 .
    VS2010程序打包操作(超详细的)
    地图三要素
    创业建议
    写代码时,必须注意“异常处理”
    WPF——RenderTransform特效
    MVVM特点、源(数据)与目标(如:控件等)的映射
    使用触发器定义 WPF 控件的行为
  • 原文地址:https://www.cnblogs.com/shen5214444887/p/5941615.html
Copyright © 2011-2022 走看看