地图授权ios开发定位授权怎样做好?

& 评价:0条
软件类型:
软件版本:1.1.26.16.5.
资源类型:完全免费
软件大小:2.54MB
软件时间:
热门标签:{software_tags}
分享链接:
大家正在使用的软件
定位亲人介绍
亲友在哪,心中有数,再也不用担心找不到亲友准确位置!中国移动“定位亲人”,万千用户之选,轻松定位亲友位置,更有地图清晰显示,让您从此更加安心! 特色功能大秀: 1.授权定位:输入手机号,或在通讯录中选择号码即可进行定位。“定位亲人”将向被定位人发送授权询问短信,对方同意后,您就可以在地图上看到此人位置。 2.特权定位:您的亲友可以授权您成为特权用户。当您对此人定位时,无需向他每次发送授权短信询问,即可以直接定位。 3.轻松使用:您可以自由选择“一键登录”或“手动登录”两种登录方式。“一键登录”方便快捷,无需等待。 4.授权管理:我都授权谁定位我?都有谁允许我定位?您可以实时查看,一目了然。
定位亲人下载
如果您使用的是安卓手机可以点击下面的豌豆荚或者360手机助手按钮直接将应用安装到手机中。
本功能会将应用程序下载到您的电脑磁盘中,如果您之前没有指定自己的手机型号,系统还会自动引导您完成匹配过程,以保证您下载的软件与您的手机系统相匹配。
手动按系统下载
如果您清楚自己手机是什么操作系统,可以通过点击下面相应的系统链接实现快速下载。
将此软件的下载地址发送至您的手机,然后通过您的手机完成下载及安装过程,您只需要输入接收手机号码即可。
定位亲人截图
搜狗手机地图提供实时定位,地点、道路、公交、周边搜索,自驾路线导航,卫星照片、实时路况浏览等贴心功能,并支持离线地图下载,浏览地图不耗流量。全方位地满足您随时随地掌握出行生活的需要。话说风传谷歌地图可能会被关闭了,搜狗赶紧出手机地图,好趁机来占市场,为将来做打算哦!大小: 9.88MB时间: 高德导航是由高德软件有限公司自主研发的手机导航软件,多年专注导航领域,众多品牌的一致选择,连续导航市场占有率第一。大小: 5.59MB时间: 我周边应用专注为用户提供当前地址查询、周边搜索、号码归属地查询、号码查询、在线翻译以及快递查询功能等。地图功能由百度地图接口提供,准确有效。号码归属地、在线翻译和快递查询来自web service数据。号码宝典则由为用户在网页上辛勤收集而来。大小: 2.48MB时间: 路游是一款分享地图上的路线、路况信息,通过结伴拼车打车、出游等形式,为上班族、驴友、有车一族、拼客们提供出行信息、聊天交友、互动分享平台的位置社交应用。独创的地图路线智能匹配系统,细致的交互设计体验,让你更迅速找到身边的有缘人,帮您轻松解决出行难、打车难等问题!大小: 3.07MB时间: 老虎地图升级为老虎宝典,“搜索”、“地图交通”“发现”三大功能助您生活丰富多彩!大小: 3.30MB时间: QQ地图是腾讯公司提供的基础网络地图服务,覆盖了全国近400个城市。使用QQ地图,您可以查询银行、医院、宾馆、公园等地理位置,帮助您找到地理位置相关的生活服务,如美食、汽车服务、旅游等。大小: 1.08MB时间: '天翼导航'产品是由号百信息服务有限公司提供的极具手机特性的GPS导航系统。大小: 3.53MB时间: 天翼关爱是基于天翼网络与天翼手机间特有的移动定位技术,结合电子地图,可准确快捷地查看儿童、在校子女、老人等家庭成员的地理位置,为用户提供家庭亲情关怀的信息服务,随时传递关爱,呵护家人安全。大小: 2.23MB时间: Speed View是一个先进的测速仪工具,提供了很多有用的功能。 Speed View使用手机的内置GPS系统,以显示您当前,最大和平均的速度,以及方向,总距离和时间旅行。 适用于跑步,驾驶汽车,骑自行车或徒步旅行。 精度高基于GPS的测速仪,是在你的车比一个更准确。 线性指南针显示您的行驶方向。罗盘模式也是可用的。 HUD的模式后视镜的数字,所以你可以放置在您的汽车的挡风玻璃的手机和在黑暗中看到它反映速度。 速曲线显示的图形图表,涵盖了最后几分钟。 测速预警您可以设置三个不同类型的道路的车速限大小: 1.55MB时间: 您可以查看北京地铁运营路线图,以及查询任意两站间的最短路线、转车方法、最短时间和首末班时间。我们使用独立研发的算法精确计算最短行车时间和首末班时间,帮您准时抵达目的地。预计乘车时间考虑到行车和换乘时间,并不包括乘客等车时间。大小: 289KB时间:
设置您的手机型号
手机软件分类
Copyright&1996 - 2016
TomPDA. All rights reserved.百度地图无法定位怎么办?百度地图获取地理位置失败解决办法
13:42 & 作者:小思 & 来源:121下载站 & 浏览:629 & 评论: &
百度地图为用户提供了实用的定位功能,不过开启GPS后不少用户出现了百度地图无法定位的问题,121小编给大家讲一下解决办法:
怎样使用定位功能?
点击定位图标,可定位至当前位置。建议在手机设置-位置服务中打开GPS和无线服务,以提高定位速度及精度。
手机无法定位,怎么办?
定位失败,您可以按照以下步骤来解决:
第一步:确保您的手机支持并开启了2G/3G上网功能;
第二步:在手机设置里,将位置服务中的GPS卫星及基于网络的位置服务等开关全部开启;
第三步: 如果您的手机安装了LBE大师,360安全卫士等带有主动防御功能的软件,请在软件中允许百度地图读取位置信息的权限(使用MIUI 系统的手机可在&授权管理&中将百度地图设置为信任);
第四步:如果前三步仍没有解决您的问题,您可以通过地图内的意见反馈、本贴吧留言、微博、官方QQ群等多种方式将您的机型和系统反馈给我们,我们将针对您的问题作出及时处理。
如何浏览地图?
1、点击右侧的[+]、[-]按钮,或用双指拖拽调整可缩放地图至满意比例尺。单指双击/双指双击亦可实现缩放功能;
2、点击左下角的定位按钮,可以进行跟随、3D罗盘视角的切换;
3、图区双指下拉可将图区切换至3D视角,双指旋转可将图区调整至任意角度。点击左上角的指南针按钮可快速恢复图区至默认的2D正北向上的状态;
4、在更多-图层中,可开启卫星地图,室内图,收藏过的点,好有图层等;
5、浏览地图时,长按地图上的点,可弹出此地点的信息
顶一下(306)
踩一下(38)
&&网友评论
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!张晓宇:如何应用室内地图定位做相关服务 16:47:39&&&&&&来源:移动Labs &&&&&&定位移动互联网移动互联网国际研讨会【摘要】2014 年8月14日至15日,第七届移动互联网国际研讨会在北京国际会议中心隆重举行,本次大会以“4G移动互联网时代的创新与变革”为主题。  专题直播:  2014 年8月14日至15日,第七届移动互联网国际研讨会在北京国际会议中心隆重举行,本次大会以“4G移动互联网时代的创新与变革”为主题,围绕4G网络技术及未来发展、虚拟运营商、移动互联网应用、信息安全、物联网、融合通信等产业热点展开。以下为中国移动吉林创新产品中心经理张晓宇在“面向移动互联网的开放API及应用安全”分论坛发表演讲。  以下为演讲速记:  各位专家,各位朋友大家好,今天我要演讲的主One CM打造智能Mall。前半段一直是我们倡导的经营理念,应该说时至今日,这个项目我不敢说第一了,但是我们的项目完美的阐释了One CM。今天有机会在这里发表演讲,我想通过一个恶俗的片子讲讲。这张图是我们在One CM场的北侧拍的一张场景图,最后日均流量在。右边向南大概650米左右,会看到卖场的,现在已经变成了一个超级大的MALL,这个卖场的西侧会起一栋跟这个一样面积的楼。那么,我们所有的长春人,或者所有的吉林人,大家赶集或者干什么必然面临一个问题,这个东西在哪儿真不知道,所以向我们提供了诉求,WIFI全覆盖,室内定位导航,以及导购APP。OS集团是一个根植于吉林本地,现在向东三省辐射。WIFI的全覆盖,我们用了692亿VP我们使用的是中国移动研究院的核心技术,由中国移动辽宁位置基地提供了云计算的平台,导购APP这一块我很自豪,这是我自己的团队做的。  然后,下面恶俗的内容开始了。第一,为什么采用WIFI。去年6、7月份开始,突然之间大幅度的火起来。我们作为吉林移动前面的技术部门,这是目前接的第一个,我们目前做的是第三个。首先感谢移动研究院对我们提供的技术支持,当然我们对研究院有一些价值。室外的技术,毫无疑问GPS,所有人都知道是干嘛的,所有人也知道它进入屋里边不太好使。还有一个是蓝牙,蓝牙实际上包括诺基亚,包括苹果现在都有一些很好的想法,但是在国内实在是我们很旱烟,实际上我们跟研究院合作,我们作为一个有文化团队的集体,我们也在跟踪整个蓝牙技术的演进,我现在也能提供一些基于特殊场景的解决方案,在内部已经开使用了。但是,我们到现在为止研究的东西跟苹果的东西相比还有很大的差距,所以,真正实现大规模商业化的我觉得还有一定的路要走。中国移动WLAN起起伏伏,经历过几次轮回。25天系统上线,我们是腊月二十八上线,所有的东西从无到有。  第二、讲一下目前的效果,我相信这个是研究院邀请我们做演讲的重头戏,刚才很多互联网公司提到日活,月活。这是我的团队做的UI界面并不完善的一个东西,这个我们会继续去努力。  第三、我们未来要做的一些后续跟进的工作。第一、最基础的,这是数据融合和共享,通过这个举证可以定义用户所有的行为,我们下一步可能还会做类似于停车上寻车的功能,因为吉林这个地方现在是欠发达省份。所以,你车听到那儿,带你找到他,真正是技术含量非常高的工作。  下面两个低聚个是地理围栏,我们可能会利用地理围栏进行一系列的后期的运营工作,包括一些后向的工作的开展。第二、就是智能推送,我们会针对前期所作的一系列运营分析的结果。我介绍的东西就这些,谢谢大家! 共 1 页
0相关资讯评论关注排行技术资料京公网安备中国移动研究院版权所有来一起学习下地图和定位的使用吧,如有不足,欢迎指正
一.定位功能
1.ios7中的定位
1.1 导入 CoreLocation框架
1.2 创建 CLLocationManager对象
注意:要用强指针指向这个对象,一般采用懒加载来创建
1 private lazy var mgr : CLLocationManager = CLLocationManager()
1.3 设置代理,实现代理方法
1.4 开始定位
mgr.startUpdatingLocation()
1.5 优点:不需要设置用户的授权
在info.plist加上一个key
Privacy - Location Usage Description 写在value上的文字,可以显示在提示权限的文本框内
2.ios8(之后)的定位
2.1 请求定位步骤
2.11 导入CoreLocation框架
2.12 懒加载CLLocationManager对象
2.13 请求授权 (1) whenInUse (2) always
2.14 注意:必须把授权对应的key值 添加到info.plist文件中
2.15 设置代理,实现代理方法
2.16 开始定位
2.2 定位属性的应用
2.21 精确度的使用
desiredAccuracy精确度越高,越耗电
属性接收double类型的值,不过最好传系统给定好的值
kCLLocationAccuracyBestForNavigation: 导航精确度(最精确) kCLLocationAccuracyBest: 最好精确度(默认) kCLLocationAccuracyNearestTenMeters: 10米的误差 kCLLocationAccuracyHundredMeters: 100米的误差 kCLLocationAccuracyKilometer: 千米误差
kCLLocationAccuracyThreeKilometers: 三千米的误差
mgr.desiredAccuracy = kCLLocationAccuracyBestForNavigation
2.22 移动一段距离,再次重新定位
设置用于移动多少距离,重新进行定位
mgr.distanceFilter = 100
2.3 位置信息的获取
2.31 发送完请求定位,怎么获取位置信息?
在代理方法的闭包中,有一个数组,返回了很多信息在里面
2.32 我们常用的信息就是经纬度
二.计算两个经纬度的距离
1.获取当前位置信息
1.1 导入框架
1.2 懒加载管理者对象
1.3 请求授权
1.4 添加key值
1.5 设置代理,实现代理方法
1.6 开始定位
2.获取另一个位置的经纬度
3.计算两个位置的距离
distanceFromLocation
三.简易指南针的制作
1.实现思路
监听手机头方向的改变,在手机屏幕上放一张图片,始终指向北(根据手机方向的改变旋转)
2.界面搭建
拖一个UIImageView放在屏幕中央,里面放一张图片
3.监听手机头方向的改变
3.1 怎么监听?
通过发送请求(定位服务),获取手机头的方向进行监听
3.2 具体实现
3.21 导入CoreLocation框架
3.22 懒加载CLLocationManager对象
3.23 请求授权 (1) whenInUse (2) always
3.24 注意:必须把授权对应的key值 添加到info.plist文件中
3.25 设置代理,实现代理方法
3.26 请求手机头方向
3.27 获取真北方向
3.28 将真北方向转换为弧度
3.29 让图片根据弧度进行旋转(注意:图片旋转的弧度要取反 , 要和屏幕旋转方向相反才能保持一直指向一个方向)
4.对指南针优化
4.1 真实的指南针指向一个位置,会来回摆动两下才固定位置
代码实现的指南针没有这个效果
4.2 如何实现这个效果?
可以通过一个动画来实现
// Damping : 阻力系数 (0~1.0)
initialSpringVelocity:回弹速度
UIView.animateWithDuration(0.5, delay: 0.0, usingSpringWithDamping: 0.8, initialSpringVelocity: 5.0, options: [], animations: {
self.imageView.transform = transform
}, completion: nil)
四.区域监听
1.需求,当进入某指向区域,提醒用户进入该区域,离开该区域也对用户进行提醒
2.实现方案步骤
2.1 懒加载 CLLocationManager对象
2.2 请求授权(注意:必须使用alyays授权方式) ,配置info文件
2.3 设置代理
2.4 创建监听区域
2.5 实现代理方法 并 开始监听
3.1 当之前添加过监听区域时,再次添加新的监听区域,还会对之前的区域进行监听
3.2 不想监听之前的区域,必须通过代码移除之前的区域
五.地理编码&反地理编码
需求:输入地理名称,地理编码获得该位置的经纬度.
输入经纬度,输出对应位置的地理名称
1.界面搭建
1.1 整个界面放在屏幕的中心,怎么实现?
1.11 可以用view包装
优缺点:要做大量的约束 , 但可以应用于任何版本
1.12 ios9之后可以用UIStackView来包装
优缺点:布局简便
只能适用于ios9(之后)
2.地理编码
2.1 拿到用户输入的地理名称 (导入框架CoreLocation)
2.2 地理编码
2.21 创建 CLGeocoder对象
2.22 对地理名称进行地理编码
geocoder.geocodeAddressString(address) { (&#[CLPlacemark]?#&, &#NSError?#&) in
2.23 对闭包中的CLPlacemark数据就行解析(遍历)
一个地理名称可能对应多个地方,所以编码后的到的结果是一个数组
2.24 获取数组中元素的地理位置(经纬度)
2.25 将经纬度显示到界面
3.反地理编码
3.1 拿到用户输入的经纬度
3.2 对经纬度进行反地理编码
3.21创建 CLGeocoder对象
3.22对经纬度进行反地理编码
geocoder.reverseGeocodeLocation(location) { (&#[CLPlacemark]?#&, &#NSError?#&) in
3.23 对闭包中的CLPlacemark数据就行解析(遍历)
一个经纬度可能对应多个位置(苹果这么设计的) 所以编码后返回一个数组
一个位置包含多个信息(省/市/街道/国家/经纬度/) 编码后的结果是字典数组
3.24 取出数组中的一个位置(字典),再获取位置信息(取出字典的元素)
3.25 把获取到的地理名称显示到界面
地理编码&反地理编码源代码
1 class ViewController: UIViewController {
// MARK:- 控件属性
@IBOutlet weak var addressTextView: UITextView!
@IBOutlet weak var latitudeTextField: UITextField!
@IBOutlet weak var longitudeTextField: UITextField!
// MARK:- 懒加载属性
private lazy var geocoder : CLGeocoder = CLGeocoder()
11 // MARK:- 地理编码
12 extension ViewController {
@IBAction func geocode() {
// 1.获取用户输入的地址名称
guard let address = addressTextView.text else {
// 2.对地理名称进行地理编码
geocoder.geocodeAddressString(address) { (placemarks : [CLPlacemark]?, error : NSError?) in
// 1.错误校验
if error != nil {
print(error)
// 2.对结果进行校验
guard let placemarks = placemarks else {
// 3.遍历所有的结果
for place in placemarks {
print(place.name)
// 获取地理位置
guard let location = place.location else {
// 获取经纬度
let latitude = location.coordinate.latitude
let longitude = location.coordinate.longitude
// 将经纬度显示textField中
self.latitudeTextField.text = "\(latitude)"
self.longitudeTextField.text = "\(longitude)"
52 // MARK:- 反地理编码
53 extension ViewController {
@IBAction func reverseGeocode() {
// 1.获取用户输入的经纬度
guard let latitude = latitudeTextField.text, let longitude = longitudeTextField.text else {
// 2.将经纬度转成CLLocation对象
guard let latitudeD = Double(latitude), let longitudeD = Double(longitude) else {
let location = CLLocation(latitude: latitudeD, longitude: longitudeD)
// 3.反地理编码
geocoder.reverseGeocodeLocation(location) { (placemarks : [CLPlacemark]?, error : NSError?) in
// 1.错误校验
if error != nil {
print(error)
// 2.对结果进行校验
guard let placemarks = placemarks else {
// 3.遍历结果
for place in placemarks {
guard let addressDict = place.addressDictionary else {
guard let addressArray = addressDict["FormattedAddressLines"] as? [String] else {
guard let address = addressArray.last else {
self.addressTextView.text = address
六.把定位封装为工具类
1.将工具类设计成单例对象
2.封装请求方法,在方法中传入闭包
2.1 使用属性将闭包保存起来. (因为在代理方法才能拿到位置信息)
2.2 请求用户位置(1.懒加载管理者对象,并在对象中直接设置请求授权和代理)
3.在代理方法中获得用户位置信息,并赋值给闭包属性
4.停止请求用户的位置
mgr.stopUpdatingLocation()
5.当第一次发送请求位置信息,会返回多次位置信息,怎么解决这个问题?
用户只需要定义一个Bool属性,对属性进行判断,为true就接收返回的位置信息
七.使用第三方框架请求位置信息
去github搜索LocationManager 找到框架去使用
一般用oc版的,swift也能用
*********************地图篇*************************
一.地图的基本展示
1.地图可以用一个MapView控件来展示
注意:要导入MKMapKit框架
2.地图的展示类型,可以通过属性 mapType设置
地图分为:标准地图,卫星地图,混合地图
ios9之后新出了: 三维混合/三维卫星地图
3.地图上可以展示哪些的内容
比例尺,指南针,交通状况,标志建筑,显示用户位置(后面详细介绍)
4.可以对地图进行哪些操作
缩放:zoomEnabled
旋转:rotateEnabled
滚动:scrollEnabled
二.显示用户的位置
1.怎么显示用户的位置?
1.1 设置地图的一个属性即可mapView.showsUserLocation = true 或mapView.userTrackingMode = .FollowWithHeading/. Follow
1.2 注意:一定要设置请求授权
1.21 创建 CLLocationManager对象
1.22 调用方法授权 requestWhenInUseAuthorization 或 always
1.23 在info文件中添加对应的key值
2.获取用户的位置
2.1 设置地图的代理
2.2 实现代理方法
在代理方法中通过userLocation.location?.coordinate拿到经纬度
3.跟踪用户的位置
3.1 首先要获取用户的位置
3.2 设置属性即可
mapView.userTrackingMode = .FollowWithHeading/. Follow
4.设置地图的显示区域
4.1 通过一个属性就可以设置(一般在代理方法中设置)
mapView.setRegion(&#T##region: MKCoordinateRegion##MKCoordinateRegion#&, animated: &#T##Bool#&)
4.2 需要传入MKCoordinateRegion参数,那么就需要创建这个参数
MKCoordinateRegion(center: &#T##CLLocationCoordinate2D#&, span: &#T##MKCoordinateSpan#&)
4.3 创建MKCoordinateRegion又需要传入CLLocationCoordinate2D和MKCoordinateSpan参数
4.4 创建CLLocationCoordinate2D参数(经纬度) 可以在代理方法中获得
4.5 创建MKCoordinateSpan参数
1纬度 = 111km
let span = MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01)
5.点击按钮,回到用户的位置
5.1 当用户拖动地图时,想让地图回到自己的位置,如果还需要拖动回来就太麻烦了
可以设置一个按钮:点击按钮,立刻让地图的中心点就是自己的位置
5.2 怎么实现?
获取用户的位置(经纬度coordinate) ,将这个位置设置为地图的中心点即可
三.在地图上展示大头针
1.添加大头针
1.1 创建大头针对象addAnnotation(annotation: MKAnnotation)
1.11 需要创建一个MKAnnotation
1.12 进去头文件,发现MKAnnotation 是一个协议, 也就是需要传一个遵守该协议的对象
1.13 自定义一个模型,遵守协议 , 协议里面只有三个计算属性
也就是说,只需要实现这三个属性(在模型中定义这三个属性 注意:要定义为普通属性)
1.14 创建模型对象
1.2 将大头针对象添加到mapView中
addAnnotation(annotation: MKAnnotation)
2.点击屏幕,在点击位置添加大头针
2.1 获取用户点击的位置
2.2 将点击的点转成经纬度
2.3 根据经纬度创建大头针模型
2.4 将大头针模型添加到mapView中
3.自定义大头针(修改大头针的子类)
3.1 系统给定的大头针样式单一,我们想要其它样式的大头针,需要自定义大头针
3.2 怎么自定义大头针?
大头针能添加到view上,一定是一个控件,只要拿到这个控件,就可以进行修改
3.3 怎么拿到大头针的view?
在代理方法中会把大头针添加到mapView上,这个时候就可以拿到
3.4 修改完大头针,发现点击大头针看不到title和subTitle了 为什么?
需要设置一个属性才可以看到annoView?.canShowCallout = true
3.5 设置大头针的样式,发现标记用户位置的图标也变为了大头针, 不想让标记位置的图标变为大头针,怎么办?
判断大头针是否为用户值得大头针 MKUserLocation是的话就返回nil (返回nil就是系统默认的大头针样式)
3.6 对大头针进行性能优化(重用)
和设置tableView的重用步骤差不多
4.自定义大头针(修改大头针,自定义大头针的image)
4.1 系统自带的大头针只能显示一个大头针,我们想让大头针显示图片,只能自定义
新建一个类,继承自 MKAnnotationView 用的时候,直接创建这个类即可
4.2 怎么设置大头针显示的图片?
只需要设置Image属性即可
4.3 如何让大头针显示不同的图片?
对大头针类型进行判断 ,给不同类型大头针设置不同的图片即可
4.4 大头针非常多,判断的话很麻烦,也没技术含量,怎么解决?
给大头针对象添加一个属性: iconName 属性里面保存对应的照片名称即可
设置的时候,只需要取出属性的值,设置给UIImageView即可
4.5 想在title左右两边也显示图片,怎么办?
设置两个属性即可 leftCalloutAccessoryView
rightCalloutAccessoryView
5.代码重构
5.1 为什么要进行代码重构?
把自定义大头针的操作全部写在控制器中,控制器太臃肿
5.2 怎么对控制器进行&瘦身"
把自定义大头针的代码抽取到一个view中
5.3 怎么抽取?
自定义大头针的view ,把相关代码封装到view里面
5.4 抽取代码要用到模型和mapView怎么办?
在自定义view中定义模型属性
把mapView当成参数传进去
5.5 注意: 父类中已经存在这个模型属性了,在子类中不允许重复定义,怎么办?
重复定义属性的时候,重写属性监听器方法即可
6.给大头针添加动画
6.1 系统自带的大头针可以设置坠落动画,自定义的大头针怎么设置动画?
我们只要拿到大头针view的frame就能实现坠落动画
6.2 怎么拿到大头针的frame
只需要获取大头针的view即可
6.3 在代理方法中可以拿到view
6.4 执行动画步骤
6.41 保存大头针的y值
6.42 设置大头针的y值为0
6.43 再设置大头针的y值为原来的值,并执行动画
四.实现导航功能(了解)
1.利用系统的地图实现导航
1.1 在自己app中打开系统地图,实现导航
openMapsWithItems(mapItems: [MKMapItem], launchOptions: [String : AnyObject]?) -& Bool
1.2 需要在方法中传入一个数组[MKMapItem](起点,终点) 和一个字典 [String : AnyObject] (导航的参数:驾车还是步行等)
1.3 创建MKMapItem类型的起点和终点
1.4 起点通过的一个方法就能实现,终点要利用地理编码获得
@IBAction func startNavigating() {
// 1.获取用户输入的地址
guard let address = destinationTextField.text else {
// 2.地理编码
geocoder.geocodeAddressString(address) { (placemarks : [CLPlacemark]?, error : NSError?) in
// 3.对错误进行校验
if error != nil {
// 4.获取placemark
guard let clpm = placemarks?.first else {
// 5.创建终点的item
let mkpl = MKPlacemark(placemark: clpm)
let destinationItem = MKMapItem(placemark: mkpl)
// 6.获取起点的item
let sourceItem = MKMapItem.mapItemForCurrentLocation()
// 7.调用对应的导航方法
self.startNavigationWithSoureItem(sourceItem, destionationItem: destinationItem)
private func startNavigationWithSoureItem(soureItem : MKMapItem, destionationItem : MKMapItem) {
// 1.获取起点和终点的item,并且放入到数组中
let items = [soureItem, destionationItem]
// 2.设置导航的参数
MKLaunchOptionsDirectionsModeKey: 步行/驾车
MKLaunchOptionsMapTypeKey: 地图类型
MKLaunchOptionsShowsTrafficKey: 是否显示交通状况
var launchOptions = [String : NSObject]()
launchOptions[MKLaunchOptionsDirectionsModeKey] = MKLaunchOptionsDirectionsModeDriving
launchOptions[MKLaunchOptionsMapTypeKey] = MKMapType.Hybrid.rawValue
launchOptions[MKLaunchOptionsShowsTrafficKey] = true
// 3.开始导航
MKMapItem.openMapsWithItems(items, launchOptions: launchOptions)
2.请求整个导航线路,在自己app中把线路画出来
2.1 可以通过 MKDirections对象的一个方法实现
2.2 首先要创建 MKDirections对象
MKDirections(request: &#T##MKDirectionsRequest#&)
2.3 还需要创建MKDirectionsRequest对象
2.4 创建MKDirectionsRequest对象,并设置属性(起点位置和终点位置)
2.5 通过MKDirections对象方法请求 calculateDirectionsWithCompletionHandler路线
2.6 获取所有路线,并把路线通过 addOverlay方法添加到mapView上
五.集成百度地图
1.如何使用第三方SDK
1.1 搜索想要集成的SDK
1.2 进入官方下载SDK开发包
1.3 查看demo程序(运行看看有哪些功能)
1.4 根据API一步步集成(官方一般有文档教程)
详情可以查看:/index.php?title=iossdk
2.基本集成
2.1 先将需要集成的功能的框架导入到项目
2.2 创建桥接文件(根据需求创建, 只有开发包是oc 自己代码是swift才需要创建)
2.3 在桥接文件中导入头文件(官方文档一般会给需要导入的头文件)
2.4 配置桥接文件
3.请求授权
3.1 如何授权?
在AppDelegate文件中进行授权
3.2 授权完,运行直接报错,为什么?
百度一些框架依赖系统的一些框架,还需要导入系统的一些框架
4. BMKMapView的展示
4.1 创建 BMKMapView对象
4.2 设置frame,添加到屏幕上
5.定位功能的实现
通过代理就可以实现
6.POI检索功能(查找功能)
注意:发起检索一定要在地图添加到view上之后
相关链接:ios-深度解析二维码的生成与使用
    swfit项目初体验Photo-Browser
多多关注织梦者,我们将为您收集更多的android开发相关文章.
这些内容可能对你也有帮助
更多可查看IOS开发列表页。
猜您也会喜欢这些文章

我要回帖

更多关于 无需授权手机定位 的文章

 

随机推荐