CoreLocation框架

定位(iOS8.0-

  • iOS8.0- 的定位实现
  • 设置授权说明(段子写得好,用户授权的概率大)
  • 设置位置更新的距离过滤(防止过于频繁的调用代理方法)
  • 设置定位精度(精度越高,耗电越快。所以要根据需求选择合适的定位精度)
  • 后台定位(勾选后台模式:location update)

定位(iOS8.0+适配)

  • iOS8.0+授权适配(两种适配方案:通过系统版本号,通过对象是否响应方法)
    (配置info.plist文件中对应的键值)
  • requestWhenInUseAuthorization 和 requestAlwaysAuthorization 区别
    (前者只有在APP前台时可以定位,后者可以在前后台进行定位)
  • 勾选后台运行模式location后的变化(在9.0之前,前者后台依然可以定位,
    但会出现蓝条;后者不会出现蓝条;)
  • 授权状态的变更,调用对应的代理方法(说明不同状态代表的含义,给予用户对应的提示)
  • 演示前后台授权和前台授权同时请求时会发生什么情况,并解释原因。
  • 在Info.plist文件中添加如下配置:
    1. NSLocationAlwaysUsageDescription
    2. NSLocationWhenInUseUsageDescription

定位(iOS9.0补充)

  • requestWhenInUseAuthorization 和 requestAlwaysAuthorization 区别(前者
    只有在APP前台时可以定位,后者可以在前后台进行定位)
  • 勾选后台运行模式location后的变化(效果同上,在while using the app 授权模式下,
    要想再次使用后台定位,必须使用allowsBackgroundLocationUpdates方法进行设置,
    但同样还是会出现蓝条)
  • requestLocation 作用:按照定位精确度从低到高进行排序,逐个进行定位。
    如果获取到的位置不是精确度最高的那个,也会在定位超时后,通过代理告诉外界
    (必须实现代理的-locationManager:didFailWithError:方法, 不能
    与startUpdatingLocation方法同时使用)

【CLLocation对象详解】

  • coordinate(当前位置所在的经纬度)
  • altitude (海拔)
  • speed (当前速度)
  • -distanceFromLocation (获取两个位置之间的直线物理距离)
  • 场景演示:打印当前用户的行走方向,偏离角度以及对应的行走距离,
    例如:”北偏东30度方向,移动了8米”
  • 实现步骤:
    1. 获取对应的方向偏向(例如”正东””东偏南”)
    2. 获取对应的偏离角度(并判断是否是正方向)
    3. 计算行走距离
    4. 打印信息

【指南针】

  1. 演示项目效果:

    • 实现思路:1.获取手机设备朝向(距离磁北方向的角度) 2. 让指南针图片反向旋转对应角度,
      这样就可以不断指向磁北
  2. 获取手机朝向: [locationM startUpdatingHeading];
  3. magneticHeading(磁北方向和真北方向,取值范围:0-359.9;顺时针为正)
  4. 注意:获取手机设备朝向不需要用户定位授权

【区域监听】

  1. startMonitoringForRegion (CLCircularRegion区域;注意,因为需要使用到用户的
    当前位置,所以iOS8.0+后需要请求用户授权)
  2. locationManager:didEnterRegion: (进入区域)
  3. locationManager:didExitRegion: (离开区域)
  4. 后台区域监听

【(反)地理编码】

  1. 演示项目效果
  2. CLGeocoder对象
  3. 三种编码方案
  4. CLPlacemark讲解(locality:城市名称 thoroughfare:街道名称 name:
    全称 CLLocation *location)
  5. 反地理编码

【定位的第三方框架】

  1. 优点:可以使用block接收用户的位置,corelocation框架定位使用代理进行传值,
    代码比较分散
  2. 下载框架(locationManager框架)
  3. 使用block进行定位(带delayUntilAuthorized参数的定位:超时时间从什么时候开始
    计算)(依然要配置info.plist文件对应的键值对)
  4. 通过定位请求ID分别取消定位(不会回调block)和强制完成定位(会回调block)
  5. 注意:此框架针对于iOS9.0 ,前台授权时,后台是无法获取用户位置

转载于:https://www.cnblogs.com/OnNineMonkey/p/5371294.html

iOS 地图与指南针使用方案相关推荐

  1. 四叉树算法:iOS地图点标记聚合方案

    前言 在地图相关应用的开发中,我们常常遇到一个问题,当地图标注点过多的时候,会造成用户体验差.应用卡顿的情况.所以,我们需要一套高效的算法来解决标注的聚合.分散的逻辑. 先上代码: 算法思想不局限于平 ...

  2. 急速收藏:4套iOS SDK的H5打通方案

    在介绍 iOS SDK 的 H5 打通方案之前,我们先了解一下什么是 App 与 H5 打通. 所谓 "打通",是指 H5 集成 JavaScript 数据采集 SDK 后,H5 ...

  3. uni app map 地图 漂浮问题及方案

    uni app map 地图 漂浮问题及方案 文章页有图片导致的问题,图片没加载出来,导致文章内容高度不固定,如果图片没加载出来,高度就是0,如果此时开始加载map,那么map就在那里加载,map原生 ...

  4. 地平线:发布线NavNet众包高精地图采集与定位方案,牵手韩国最大通讯企业 | CES 2019...

    今年的CES,有关于自动驾驶的讨论比往年冷静了许多,但依旧是担纲主角之一.在本届的CES上,定位为Tier 2 的地平线机器人也带来了自己对于自动驾驶的思考和成果. 地平线创始人兼CEO余凯认为:在 ...

  5. electron 打开调试_构建基于 iOS 模拟器的前端调试方案

    作者:imyzf 本文将为大家介绍自动化控制 iOS 模拟器的原理,为开发基于 iOS 模拟器的前端调试方案提供帮助. 我们在开发 iOS App 内的前端页面时,有一个很大的痛点,页面无法使用 Sa ...

  6. iOS 仿系统指南针

    高仿系统指南针,方向数据是地磁航向数据,有定位地理位置信息和地磁方向信息,可以和系统的指南针对比看一看. 一.运行效果 二.实现过程 1.继承于UIView创建一个带刻度标注的视图ScaleView, ...

  7. 算法:根据四色定理(Four color theorem),求出地图的所有着色方案

    地图着色,需要每一个区域都使用一种颜色来进行填充,然后为了与相邻接壤的区域分开,就要求两个接壤的区域需要使用不同的颜色.四色定理的意思是,最多只需要四种颜色,就可以为所有的地图进行全部区域着色,且任意 ...

  8. ios 地图 省市轮廓_iOS 14中的新增功能:视觉轮廓检测

    ios 地图 省市轮廓 WWDC20 (WWDC20) Apple's WWDC 2020 (digital-only) event kickstarted with a bang. There we ...

  9. 招聘信息显示苹果开发iOS地图应用

    新浪科技讯 北京时间3月26日上午消息,苹果最新的招聘信息显示,苹果仍在继续开发该公司自己的移动地图服务,这一地图服务将区别于谷歌地图. 招聘信息显示,苹果总部招聘一名iOS地图应用开发者.这名开发者 ...

最新文章

  1. 动态表单工作量给后端
  2. 百变应用场景下,优酷基于图执行引擎的算法服务框架筑造之路!
  3. EPOLLOUT 事件的意义 以及 处理示例
  4. c++ 怎么读取rtf文件_最全集合!Word、PPT、Excel、PDF文件转换方法大全!建议收藏...
  5. 图像处理之玻璃水印特效(祝大家圣诞节快乐)
  6. 论文笔记之:RATM: RECURRENT ATTENTIVE TRACKING MODEL
  7. QT的QNoDraw类的使用
  8. WebBrowser内存泄露
  9. 研究生学习阶段时间安排
  10. java api class_Java API:Object class
  11. 超融合架构的优缺点_知道 超融合基础架构吗
  12. 大数据之-Hadoop之HDFS_HDFS组成架构---大数据之hadoop工作笔记0050
  13. [课程设计]任务进度条开发日志目录
  14. CSITool的安装过程(参照官方教程进行细节处理)
  15. 【原生JavaScript案例】原生JS实现进度条
  16. 三相逆变器双pi控制器参数如何调节_电机(四)——永磁同步电机PI参数调节...
  17. cad用计算机怎么计算坐标,CAD坐标怎样计算
  18. flutter手写板2.0 橡皮擦
  19. 增量式(相对式)编码器与绝对式编码器工作原理
  20. 智慧多功能综合杆案例分享:上海市多杆合一、综合杆道路智慧路灯项目解决方案解析

热门文章

  1. Python刷题中常用的知识点和易忘点
  2. linux下格式化U盘的方法
  3. vMotion及Storage vMotion配置
  4. 2023年经济危机要来了,如何度过这个难关?
  5. 2022年软件评测师真题
  6. VBA调用系统调色板
  7. 黄金的18K和24K是什么意思
  8. 深圳真实收入是多少?
  9. python 如何绘制分叉图
  10. 手写实现简单版IOC