『Cesium 基础』ImageryProvider 服务
webgis 2020-02-01
cesium
三维
# 内置 API
1 ArcGisMapServerImageryProvider
支持ArcGIS Online和Server的相关服务
2 IonImageryProvider
Cesium Ion 在线服务
3 createOpenStreetMapImageryProvider
OSM影像服务,根据不同的url选择不同的风格
4 createTileMapServiceImageryProvider
看文档是根据MapTiler规范,貌似是可以自己下载瓦片,发布服务,类似ArcGIS影像服务的过程
5 GridImageryProvider
渲染每一个瓦片内部的格网,了解每个瓦片的精细度
6 MapboxImageryProvider
Mapbox影像服务,根据mapId指定地图风格
7 SingleTileImageryProvider
单张图片的影像服务,适合离线数据或对影像数据要求并不高的场景下
8 TileCoordinatesImageryProvider
渲染每一个瓦片的围,方便调试
9 UrlTemplateImageryProvider
指定url的format模版,方便用户实现自己的Provider,比如国内的高德,腾讯等影像服务,url都是一个固定的规范,都可以通过该Provider轻松实现。而OSM也是通过该类实现的。
10 WebMapServiceImageryProvider
符合WMS规范的影像服务都可以通过该类封装,指定具体参数实现
11 WebMapTileServiceImageryProvider
服务WMTS1.0.0规范的影像服务,都可以通过该类实现,比如国内的天地图
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 加载高德地图
this.viewerLayers = this.viewer.imageryLayers;
let layer = new Cesium.UrlTemplateImageryProvider({
url: 'https://webst0{s}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}',
subdomains: ['1', '2', '3', '4'],
});
this.viewerLayers.addImageryProvider(layer);
1
2
3
4
5
6
2
3
4
5
6
# 加载本地 wms 服务
this.viewerLayers = this.viewer.imageryLayers;
let layer = new Cesium.WebMapServiceImageryProvider({
url: 'http://localhost:8080/geoserver/topp/wms',
layers: 'topp:states',
proxy: new Cesium.DefaultProxy('/proxy/'),
});
this.viewerLayers.addImageryProvider(layer);
1
2
3
4
5
6
7
2
3
4
5
6
7
# 加载离线切片服务
//需要在根目录下有tilemapservice.xml文件,可以通过切片下软件生成,具体可以看 参考资料2
this.viewerLayers = this.viewer.imageryLayers;
let layer = new Cesium.createTileMapServiceImageryProvider({
url: '本地离线切片服务地址',
});
this.viewerLayers.addImageryProvider(layer);
1
2
3
4
5
6
2
3
4
5
6
参考资料
[1]http://blog.sina.com.cn/s/blog_15e866bbe0102xmo5.html
[2]https://www.jianshu.com/p/7b5476d8a7f6
# [3]https://www.jianshu.com/p/1bde8a358955
更多内容,欢迎关注公众号
