- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
API Reference 系列 之Mapkit解析
前言
最近要开发一个地图相关的工具,于是去苹果开发者官网查阅了资料。发现网站更新了API Reference 的文档结构,聚合了Framework的Guide和所有类,变得很清晰阅读。
虽然官网的Guide解释的已经比较清楚,但是不够直观。于是结合官网资料,对Mapkit做了一些思维导图,并做了一些注解。
本文章适合有OC基础,但对Mapkit不了解的同学。另外,本文章只大概说明Mapkit的作用和相关类,不做具体API说明。
概要
本文章中主要针对Mapkit讨论了前三个问题,第四个问题则需要使用Mapkit的同学结合官网和其他网站上的Demo,去自己实践。即本文将要讨论的三个问题:
Mapkit是什么
Mapkit解决了什么问题
Mapkit是怎么解决这些问题的
详解
Mapkit是什么
我们先看下官网的简要解释:
Location-based information consists of two pieces: location services and maps. Location services are provided by the Core Location framework, which defines Objective-C interfaces for obtaining information about the user’s location and heading (the direction in which a device is pointing). Maps are provided by the Map Kit framework, which supports both the display and annotation of maps similar to those found in the Maps app. (To use the features of the Map Kit framework, you must turn on the Maps capability in your Xcode project.) Location services and maps are available on both iOS and OS X.
简单来说就是 Location framework 提供了定位和设备方向服务,MapKit提供了地图的标注和地图展示服务。
Mapkit解决了什么问题
通过Mapkit,我们可以获取当前定位、地图展示、标注、覆盖物、地理编码和反地理编码、位置检测、设备方向判断、获取路线信息、地理位置查询等地图相关的操作。
Mapkit是怎么解决这些问题的
Mapkit有很多类,针对以上的功能,画了一个思维导图,方便梳理。
地图相关概念
定位
iOS中获取用户当前坐标的方式有两种:
通过Core Loation Framework的CLLocationManager
通过Mapkit的MKMapView中userLocation获取(需要设置showsUserLocation)
从iOS8 开始,以上两种方式获取当前坐标时,都需要手动调用请求授权API:
配置plist中的授权提示文案,key为 NSLocationWhenInUseUsageDescription (前台) 或 NSLocationAlwaysUsageDescription(前台,后台)
手动调用CLLocationManager的requestWhenInUseAuthorization或requestAlwaysAuthorization,进行定位授权
通过CLLocationManager进行定位的基本步骤:
配置 CLLocationManager
调用 requestWhenInUseAuthorization 或 requestAlwaysAuthorization
实现CLLocationManagerDelegate
通过Mapkit中获取展示当前定位点的基本步骤:
创建MKMapView
设定showsUserLocation=YES
实现 MKMapViewDelegate的mapView:didUpdateUserLocation:
注:
CLLocationManager获得的坐标类型是WGS84坐标(即真实的地理坐标),MKMapView获得的坐标类型为GCJ02(即国测局经纬度坐标,高德用该坐标系)
从iOS8以后,MKMapView只有展示后上才会启动定位,单独alloc一个MKMapView,并不会启动定位。
相关的类:CLLocationManager,MKMapView
地图展示
展示地图是通
您可能关注的文档
- 大豆栽培技术 苗期、分枝期田间管理 大豆小地老虎发生及防治措施技术手册.docx
- 大气环境治理技术 大气环境治理技术 教案 第09周.docx
- 移动应用开发基础实训-2017 输入密码对话框图形化界面 输入密码对话框图形化界面实训(实 验) 报 告.doc
- 大食品微创业 拓展训练 国内饮品店经营模式分析.doc
- 移动应用软件开发(基于Android平台)-2017 ListView列表组件 ListView 的使用.docx
- 大数据技术应用 甘特图实现数据可视化 甘特图实现数据可视化电子教案.doc
- 移动应用软件开发(基于Android平台)-2017 申请密钥 申请百度地图密钥-v2.0.docx
- 大数据技术应用(国家) 知识点2:Hadoop核心组件简介 Hadoop核心组件简介.docx
- 移动应用软件开发(基于iOS平台)-2017 系统优点 macOS系统优点 文档.docx
- 大数据技术应用(国家) 知识点2:Region管理 Region管理.docx
- 2024版建设工程劳动合同书.docx
- 五年级上册数学教案-3 观察物体第3课时 -人教新课标.docx
- 2017春沪粤版八年级物理下册第10章同步导学案10.2 分子动理论的初步知识.docx
- 2024购买机械合同范本.docx
- 苏科版初中物理八年级上册 2.3 熔化和凝固 学案 .docx
- 2019年春八年级物理下册沪科版教案:7.2 力的合成.docx
- 五年级上册数学教案 5.9 分数的大小 北师大版.docx
- 二年级下数学教案-复习-苏教版秋.docx
- 二年级下册数学教案-4.1 《长方形和正方形的认识》 ︳西师大版 .docx
- 2018学年初二(下)物理沪科版《第七章 力与运动》学案.docx
文档评论(0)