zoukankan      html  css  js  c++  java
  • iOS定位与地图

    定位:

      手机上定位的实现主要有三种方式:基站(附近基站的位置),wifi(所连接路由器的位置),卫星(最准确,也最耗能)。

    iOS的定位功能主要是由CLLocationManager类来完成的。这个类属于CoreLocation类库,所以使用定位功能之前,现在头文件中导入该类库。

    定位的步骤:  

      1. 通过类方法判断定位服务是否开启,若为NO,则先要提醒用户在手机上设置开启定位服务;

        + (BOOL)locationServicesEnabled 

      2. 通过类方法判断授权状态(iOS8之后)。授权状态的返回类型是枚举,大概分为:禁止(任何时候不可以)&在程序运行期间允许&一直允许。若为禁止,则可以给用户发送授权请求,然后等待用户同意或者拒绝;

        + (CLAuthorizationStatus)authorizationStatus  // 返回授权状态

            [_locationManager requestAlwaysAuthorization];  // 请求一直允许授权

            [_locationManager requestWhenInUseAuthorization];  //请求程序运行期间允许授权

      3.创建CLLocationManager实例,并设置一些属性(定位精度,频率等);   

            locationManager.desiredAccuracy = kCLLocationAccuracyBest

            CLLocationDistance distance = 10.0; //10米更新

            locationManager.distanceFilter = distance;

      4.设置locationManager对象的代理,并重写代理方法

         - (void)locationManager:(CLLocationManager *)manager  didUpdateLocations:(NSArray *)locations;

         - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation;

      注意:第一个方法的返回参数是每项为CLLocation类型的数组,

      5.这些都弄完后,就可以开始定位了,最后当使用完定位后记得要停止定位,因为定位是相当消耗性能和电量的。

         [locationManager startUpdatingLocation]; //开始定位

             [locationManager startUpdatingHeading//开始导航

     

    地图:

      iOS的地图功能是集成在MapKit框架中的,所以首先要在头文件中导入。

      现在很多地图应用都是一出现地图,正中央就是用户当前所在位置。

    使用地图的步骤:
      1. 创建mapView,要使用地图功能,首先要有地图视图。紧接着设置mapView的一些属性,比如地图类型(平面,立体等),跟随类型(不跟随,跟随,跟随且跟随方向)。还可以调用mapView的方法添加标注视图;(大头针视图和tabView里面的cell很相似,都由代理方法返回,都可以复用,都可以自定义)。

      2. 设置mapView的代理,并重写代理方法。代理方法有加载地图结果的处理,还有对地图标注(大头针)的动作处理。

     

     

  • 相关阅读:
    [nodejs] web后端开发时, 用hapi/Joi对前端提交的数据进行校验--随笔
    [C++]类的空指针调用成员函数后,会发生什么事?
    赵家庙保险队大队长【永远置顶】
    NX二次开发-NXOpen C# OpenFileDialog弹出选择文件对话框
    NX二次开发-NXOpen C# string转tag
    NX二次开发-UFUN创建扫掠UF_MODL_create_sweep
    NX二次开发-NXOPEN C# WinForm点构造器UF.Ui.PointConstruct和UI加锁解锁UF.Ui.LockUgAccess
    vue 移动端手写手机验证码登录
    java--Scanner扫描器
    react中this.props.history实现跳转页面的使用方法
  • 原文地址:https://www.cnblogs.com/wangerxiansheng/p/4498108.html
Copyright © 2011-2022 走看看