各种公开的互联网地图给我们提供了巨大的免费可用的地图资源(此处应有掌声),但是各大厂商发布地图服务的规则和方式各有不同,今天我们来扒一扒高德的瓦片地图服务的发布规则。
高德地图服务地址规则
先来看一个典型的高德地图的瓦片请求:
https://wp
rd
02.is.autonavi.com/appmaptile?lang
=zh_cn&size
=1&style
=7&x=54658&y=26799&z=16&scl
=1<ype
=1
从上面的请求地址可以看出,主要影响瓦片发布方式的变量有几种:
变量 | 说明 |
---|---|
域名(wprd,wpst) | 目前还没有找出规律 |
lang | 可以通过zh_cn设置中文,en设置英文 |
size | 基本无作用 |
style | 地图类型控制,6卫星(st),7简图(st rd),8详图(不透明rd,透明图st) |
scl | 尺寸控制,1=256,2=512 |
ltype | 线性控制,增加后,只对地图要素进行控制,没有文字注记,要素多少,是否透明 |
这些规律并不是绝对的,有可能有的组合某些参数不起作用,典型的组合应用场景在后面列出。
影像图
https://webst01.is.autonavi.com/appmaptile?x=54658&y=26799&z=16&style=6
标注道路图
- 道路纯图
- 道路详图
http://webrd01.is.autonavi.com/appmaptile?x=54658&y=26799&z=16&lang=zh_cn&size=1&scale=1&style=8
透明标注道路图
- 纯道路
- 纯地标
- 道路标注
http://webst01.is.autonavi.com/appmaptile?x=54658&y=26799&z=16&lang=zh_cn&size=1&scale=1&style=8
注意:
高德图源是做了偏移的,如果需要叠加WGS84坐标系的国外图源(如google影像等)会出现偏移。如果叠加的是国内的加偏的底图或者调用高德相关API则可以正常使用,负负得正(¦3」∠)。
在Cesium中添加高德地图服务
var viewer = new Cesium.Viewer("cesium-container");
var gaodeImageProvider = new Cesium.UrlTemplateImageryProvider({
url:"https://webst{s}.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&style=6", // 添加高德影像
subdomains:["01","02","03","04"] //多域名请求
})
viewer.imageryLayers.addImageryProvider(gaodeImageProvider);