ios开发之定位和苹果地图

ios开发之定位和苹果地图

1. LBS开发简介

  需求:社交类(微信 QQ)     附件的人

    购物应用  显示商家位置 (美团 大众点评)

    旅游类应用(去哪儿 携程)  显示当前位置周边酒店 餐馆

  功能 :定位 (获取当前位置的地图)

     地图(显示某个区域的地图)

  实现: 苹果:定位功能和地图功能(国内使用高德的数据)

     高德地图

     百度地图

     搜搜地图 腾讯地图 谷歌地图...

2.地理定位

  1.库的配置

  2.定位功能

  3方向

3.地址编码和反编码

  1 地址编码 获取经纬度 确定地理位置

  2 地址反编码   知道地理位置 获取对应的经纬度

  3 火星地址和国家标准地址

    

    天朝测绘局以国家安全为理由,用法律的形式对所有在天朝发行的地图类产品加了强制性规范,要求所有地图类产品都必须使用国家测绘局的一种加偏移的算法,对地图的真实坐标进行加偏移处理,之后才可能通过审批准许上市。因此,天朝的所有官方及商用地图的坐标都是偏移的,这种偏移属于非线性的,偏移量在300至500米不等,偏移方向也不定。这种加过偏移的地图坐标就是所谓“火星坐标”。

    GPS接收机本身接收卫星的信号,计算出本机所在位置的经纬度,在没有做特别处理的时候,这个经纬度是正确的。但是如果GPS支持加载地图的话,这个GPS中的地图就得受上述第一条法规的约束了,所以正式在天朝销售的行货GPS设备中的地图必须也得加偏移,处理成火星坐标。

    GPS软件中设置一个使用同样算法的加偏移功能。GPS先从卫星上得到真实坐标,然后经过加偏移程序转换成火星坐标,由于是同一个算法,所以经过软件加偏移的坐标能跟同样加了偏移的地图吻合,就是“歪到一起”了。这样就可以用GPS正常导航了——但这台GPS设备输出的坐标仍然是火星坐标,放到Google Earth上面是没法正常吻合的。

    由于Google Earth属于卫星照片,它不是地图,所以不受天朝测绘法的约束,因此Google Earth的坐标是真实坐标。这样,问题又来了,当你使用天朝处理过的GPS导出火星坐标(或航迹),企图把它放到Google Earth上面看看自己都走了哪些路的时候,因为Google Earth照片的坐标是真实的,而你的GPS导出的坐标是火星坐标,二者就对不上号了,你也许会看到在google Earth上,你开着车从别人的楼顶上飞过去,或者打湖里面漂过去。

    

地球坐标 (WGS84)

  • 国际标准,GPS标准从 GPS 设备中取出的原始数据是就是这个
  • 国际地图提供商一般使用的也是这个

火星坐标 (GCJ-02)

  • 中国标准,行货 GPS 设备取出的最终数据是这个
  • 国家龟腚: 国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。

百度坐标 (BD-09)

  • 百度标准,百度 SDK,地图,Geocoding 用的都是这个。

    

  • CLLocationManager 拿到的 CLLocation 转为火星坐标,MKMapView 不用处理

4.苹果原生态地图

  

时间: 2024-08-09 16:48:18

ios开发之定位和苹果地图的相关文章

iOS 开发之定位与苹果地图

1.LBS开发 需求: 社交类应用 ,  购物类 ,  旅游类... 功能: 定位.地图 官方提供:定位与地图(国内使用的高德的数据) 第三方:高德,百度,搜搜,腾讯,谷歌地图... 2.地理定位 2.1 库的配置 /*****地图定位*****/ //LBS --> Location Based Service //1.配置库 --> CoreLocation.framework (系统的) // --> #import <CoreLocation/CoreLocation.h&

iOS开发那些事-iOS6苹果地图有用开发

在iOS 6之后,不再使用谷歌地图了,而是使用苹果自己的地图,可是API编程接口没有太大的变化.开发者不须要再学习非常多新东西就能开发地图应用,这是负责任的做法.因此本节介绍的内容也相同适用于iOS5上执行地图应用开发. iOS应用程序中使用Map Kit API开发地图应用程序. 其核心是MKMapView类使用.我们能够设置地图显示方式.控制地图,能够在地图上加入标注. 显示地图 在Map Kit API中显示地图的视图是MKMapView,它的托付协议是MKMapViewDelegate.

iOS开发那些事-iOS6苹果地图实用开发

在iOS 6之后,不再使用谷歌地图了,而是使用苹果自己的地图,但是API编程接口没有太大的变化.开发人员不需要再学习很多新东西就能开发地图应用,这是负责任的做法.因此本节介绍的内容也同样适用于iOS5上运行地图应用开发. iOS应用程序中使用Map Kit API开发地图应用程序. 其核心是MKMapView类使用.我们可以设置地图显示方式.控制地图,可以在地图上添加标注. 显示地图 在Map Kit API中显示地图的视图是MKMapView,它的委托协议是MKMapViewDelegate.

ios开发UI基础—安装苹果官方文档和Xcode模拟器

ios开发UI基础-安装苹果官方文档和Xcode模拟器 提示:准备资料 (1)com.apple.adc.documentation.AppleiOS7.1.iOSLibrary.docset.zip (2)iPhoneSimulator6.1.sdk.zip 一.安装苹果官方文档 1.安装路径 文档有两个安装路径: (1)~/资源库/Developer/Xcode/UserData/ (2)/Applications/Xcode.app/Contents/Developer/Documenta

ios开发中如何调用苹果自带地图导航

前段时间一直在赶项目,在外包公司工作就是命苦,天天加班不说,工作都是和工期合同挂钩的,稍微逾期就有可能被扣奖金,不谈这些伤脑筋的事情了,让我们说说iOS开发中如何调用苹果手机自带的地图. 学习如逆水行舟,不进则退.古人告诉我们要不断的反思和总结,日思则日精,月思则月精,年思则年精.只有不断的尝试和总结,才能让我们的工作和生活更加轻松愉快和美好.连着做了两个大的商城外包项目,智慧城市,搜牧通,花费了近四个月的时间,终于在反复修改后完美收工.期间的困难自不必说,以后多多总结和沟通吧.百度地图的使用之

iOS开发中如何使用百度地图SDK

成功将百度地图sdk为我所用! 现将具体步骤分享如下:xcode5.0.2/BaiduMap_IOSSDK_v2.4.0_All(下载最新版本,与之前有所不同) 首先注册百度帐号,进入百度LBS开放平台,选择IOS开发,进入页面,按照步骤执行: 1.申请key,创建应用,一个应用对应一个Key. 应用名称就填写你要绑定的应用名字,注意:一旦填好不可更改!应用类型选择for mobile:安全码:打开项目,选择 —>就是Bundle Identifier里面的内容:创建成功后会给你一个24位的ke

iOS开发 GPS定位 指定语言 返回中文地点

在iOS开发中,用到定位时经常会遇到这个头疼的问题:系统语言为英文时返回英文或拼音,系统语言是中文时才返回中文. 下面是强制系统获取的定位地点为中文.方案是网上的,但优化了一下,当逆地理编码结束后才恢复系统语言,避免一些极端情况下的不生效问题. 实测可行.有问题欢迎留言. ` -(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:

Map1: iOS开发中定位和地图介绍

Core Location 以及 Map 框架包通常能给我们的应用程序添加定位和地图相关的服务. Core Location 框架包通常是使用硬件设备来进行定位服务的,Map 框架包通常能够使你的应用程序做一些地图展示与交互的相关功能. 一.准备 为了能够在项目中使用到位置服务以及地图展示的相关功能,你必须要导入 Core Location 和 Map 这两个框架包: 1.点击你的项目工程图标文件 2.然后选择 target 选项 3.然后选择 Build Phase 模块栏 4.然后点开 Li

iOS开发--添加定位功能

.h 首先在头文件中#import <CoreLocation/CoreLocation.h> 添加CLLocationManagerDelegate协议 @property (strong, nonatomic) IBOutlet CLLocationManager *myLocationManager; .m 在- (void)viewDidLoad添加以下代码: self.myLocationManager=[[CLLocationManager alloc]init]; [self.m