前言
在实际开发中,我们常用的地图无非那几家---- 高德地图、百度地图、腾讯地图、搜狗地图等等。重点说明高德、百度
市场份额:高德34.8%,百度33%,没有太大差距
总体来说高德注重于导航,百度注重于生活。高德地图的导航非常出色,涵盖全国364个城市的352万公里路况,。百度地图在数据方面做得非常的出色、如公交地铁、周边信息。业务上侧重点不一样各有优缺点。
经纬度
是一种地理坐标系统,南北方向的称为纬度,东西方向称为经度
投影
我们的地球是圆形的,地球的坐标是一个球面坐标,球面坐标是三维坐标(x、y、z),而我们的地图是是二维的(x、y),需要将球面的三维坐标转换为平面的二维坐标。坐标转换就用到了投影的概念。
常用的投影有:圆柱投影、圆锥投影、方位投影,而在我们地图导航中使用墨卡托投影。百度、高德、Google都使用墨卡托投影
墨卡托投影金字塔模型、瓦片坐标系
金字塔模型把一张世界地图显示到手机里是不可能的,所以就引入了金字塔模型的概念(也就是比例尺),我们可以根据不同的缩放比例,显示不同的分辨率
在地图应用中,我们用手指缩放和放大地图,地图显示大小的变换,都是基于金字塔模型来组织瓦片图的。
和金字塔模型配合使用的就是瓦片坐标系,在不同的缩放等级下,同一块区域瓦片个数也是不一样的
坐标加密
经纬度坐标加密主要有两种格式,GPS坐标系 (WGS-84) 和火星坐标系 (GCJ-02)
根据中国法律规定,地图提供商必须对地图经纬度进行偏移,国测局制定了一套加密标准,就是常用的GCJ-02
高德SDK中的经纬度加密(GCJ-02)
百度SDK中的经纬度加密(使用GCJ-02再次加密,叫做BD-09)
地图定位
移动端定位方式有三种:GPS、Wi-Fi、基站
单次定位、持续定位
Android和iOS不太一样:android可以让用户选择和设置那种定位方式,但是iOS是由系统为我们选择的,我们没有操作定位方式的权限。iOS不允许有第三方定位,所以现在地图应用都是对系统定位进行的封装。如果有GPS信号,iOS系统会优先选择GPS方式定位,然后是Wi-Fi定位,如果Wi-Fi信号不好就会选择基站定位。
在定位中精确度最高的是Google
地理编码和逆地理编码
地理编码:即地理解析,由详细的结构化地址得到对应的经纬度信息
逆地理编码:即逆地理解析,由一个经纬度信息获取一个结构化地址信息
POI数据
数据是一种矢量数据,包括美食、商店、银行、加油站等都是POI数据,在地图上一般都以气泡或大头针表示
地图---2D、3D、AR实景、室内地图、热力图
2D场景:轻地图应用,简单的位置分享、兴趣点标注、线路展示等
3D场景:重地图应用,比如打车应用、出行导航类应用
AR实景地图:最开始是Google研发的,这项技术需要软件和硬件相互的配合,以及大量的数据处理才能完成。
室内定位:是一种结合3D定位的定位模式,可以在室内进行定位。室内定位直接定位某个商铺在几楼的某个位置,选择楼层。 在传统的定位中,楼内由于是多层,会导致定位重叠的问题,而且楼内GPS信号也不太好甚至没有。所以出现了一些新技术来实现楼内定位:AGPS(辅助全球卫星定位系统)、Wi-Fi指纹定位、zigbee芯片定位、RFID智能标签技术、以及苹果推出的ibeacon,其中高德使用的是Wi-Fi指纹定位技术。
2D地图 3D地图 AR实景地图 室内地图 热力图
网友评论