简介篇
高德API&百度API 各自特点
- 高德: 文档优秀,代码简单
服务阿里系电商(淘宝,天猫,美团,饿了么,达达),大疆,KEEP - 百度: 数据丰富(POI多)提供街景
服务各大快递公司,智能景区,房产,旅游,银行,买菜服务
POI指兴趣点“Point of Interest”,例如房子商铺公交站等等
技术演进:
第 1 代 Web 地图渲染引擎以栅格瓦片拼接为主要的地图绘图手段
第 2 代 Web 地图渲染引擎引入 Canvas 2D 绘图,实现了矢量地图绘制
第 3 代 Web 地图渲染引擎初步引入 WebGL 渲染,实现了部分图层的3D渲染,并使渲染效率得到提升
浏览器降级过程:WebGL(3D)——Canvas——瓦片图
WebGL(Web图形库)是一个JavaScript API,可在任何兼容的Web浏览器中渲染高性能的交互式3D和2D图形,而无需使用插件。WebGL通过引入一个与OpenGL ES 2.0非常一致的API来做到这一点,该API可以在HTML5
<canvas>
元素中使用。 这种一致性使API可以利用用户设备提供的硬件图形加速。
坐标系篇
目前国内主要有以下三种坐标系:
WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。
GCJ02:又称火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。(高德)
BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标。
非中国地区地图,服务坐标统一使用WGS84坐标。
API都提供了相应的坐标转换接口。
功能篇
-
地图的组成
- 图层
图层可以叠加组合
-
官网图层
var map = new AMap.Map('container', {
center: [116.397428, 39.90923],
viewMode: '3D',
pitch: 60,
rotation: -35,
// 隐藏默认楼块
features: ['bg', 'road', 'point'],
mapStyle: 'amap://styles/light',
layers: [
// 高德默认标准图层
new AMap.TileLayer.Satellite(),
// 楼块图层
new AMap.Buildings({
zooms: [16, 18],
zIndex: 10,
heightFactor: 2 //2倍于默认高度,3D下有效
})
],
zoom: 16.8,
});
- 行政区图层
- 第三方标准图层
- 自有数据图层(图片,canvas,瓦片,视频)应用场景(景区手绘地图)都可以设置透明度
- 自定义图层(可以重绘)
- 地图样式定制
-
图层官方样式
-
图层自定义样式
覆盖物
点,海量点,矢量图形,地图控件(工具条、比例尺、定位、鹰眼、基本图层切换),信息窗体和右键菜单
场景(与业务相关的点,形状标记,点击显示详细的内容)
新增:3D立体图形事件系统
地图(地图加载完成,地图缩放等级改变,地图中心点移动,地图容器尺寸改变,鼠标按下及移动等,触屏点击)
覆盖物(移动,显示,打开关闭,鼠标按下及移动等,触屏点击)特别的功能
-
百度地图的地球模式
- 自定义视角动画 轨迹动画
- 可视化
均提供了可视化库
通过灵活的配置,可以快速制作出如散点、轨迹、区面、热力图等地理位置相关的可视化作品。
设计初衷主要是为了解决大数据量的三维地理数据展示问题及一些炫酷的三维效果。
http://lbsyun.baidu.com/solutions/mapvdata
https://lbs.amap.com/demo/list/loca-api
https://test.hsop.komect.com:10443/hjq-smartHomeWeb/countryside/
https://test.hsop.komect.com:10443/hjq-smartHomeWeb/countryside2/