cesium加载各类地图服务
目录
一、图层顺序
二、 wms
2.1 加载wms,以及数据筛选
2.2移除wms
三、GeoJson
3.1 加载Geojson
3.2 移除Geojson
四、kml
五、3DTiles
5.1 加载3DTiles
5.2 控制3DTiles显隐
六、WMTS
6.1 加载
6.2 移除
直接从项目里整理出来的,有的是vue的写法,有的是react的写法
一、图层顺序
viewer.imageryLayers.raiseToTop(kmlIndex);//设置置顶
viewer.imageryLayers.lowerToBottom(kmlIndex);//将图层移到最底层
viewer.imageryLayers.lower(kmlIndex);//将图层下移一层
viewer.imageryLayers.raise(kmlIndex);//将图层上移一层
二、 wms
添加wms图层,以及图层顺序的设置
2.1 加载wms,以及数据筛选
let map = new Cesium.WebMapServiceImageryProvider({url: `localhost:8800/geoserver/yada/wms?`,layers: 'store:layer',//图层名parameters: {service: 'WMS',format: 'image/png',transparent: true,//是否透明CQL_FILTER:`city_code=${city_code}`//geoserver服务,可通过cql进行特征筛选},
})
map.customName = 'tianditu3'//自己定义各种属性
const dd = viewer.imageryLayers.addImageryProvider(map);//添加图层
// viewer.imageryLayers.lower(dd);//将图层下移一层
// viewer.imageryLayers.lowerToBottom(dd); //将图层移到最底层
// viewer.imageryLayers.raise(dd); //将图层上移一层
2.2移除wms
// 倒叙遍历,customName是自定义的属性
const layers = this.viewer.imageryLayers._layers
for (let f = layers.length - 1; f >= 0; f--) {if (layers[f]._imageryProvider.customName) {this.viewer.imageryLayers.remove(layers[f])}
}
三、GeoJson
3.1 加载Geojson
Cesium.GeoJsonDataSource.load(url, {stroke: Cesium.Color.fromCssColorString("red"), //轮廓颜色fill: Cesium.Color.fromCssColorString('red'), //内部颜色strokeWidth: 3, //轮廓宽度(这个宽度怎么设置都无效,貌似的是浏览器的原因)
}).then(function (dataSource) {// dataSource.name = 'geojsonDataSource'//自定义属性,方便以后操作this.viewer.dataSources.add(dataSource); //添加this.viewer.flyTo(dataSource, {duration: 5,offset: {heading: 0.0,pitch: -90//保持垂直视角}}); //移动到该位置
});
3.2 移除Geojson
const dataSources = this.viewer.dataSources._dataSources
for (let k = dataSources.length - 1; k >= 0; k--) {// if (dataSources[k].name.indexOf('geojsonDataSource') > -1) {if (dataSources[k].name && dataSources[k].name === layerName > -1) {this.viewer.dataSources.remove(dataSources[k])}
}
四、kml
let options = {camera: viewer.scene.camera,canvas: viewer.scene.canvas,// clampToGround: true //开启贴地
};//添加
var addData = Cesium.KmlDataSource.load(url, options);
addData.then(function (dataSource) {viewer.dataSources.add(dataSource);viewer.flyTo(dataSource);//移动到kml
});
五、3DTiles
5.1 加载3DTiles
const scene = viewer.scene;
const tileset = new Cesium.Cesium3DTileset({// url: `http://192.168.2.215:8080/browsedata/cesium_test/3dtiles/tileset.json`,url: url,
})
scene.primitives.add(tileset);
// 定位到该位置
tileset.readyPromise.then(function (res) {viewer.zoomTo(res,);
}).otherwise(function (error) {console.log('error:', error);
});
5.2 控制3DTiles显隐
tileset.show=true//显示
tileset.show=false//隐藏
六、WMTS
6.1 加载
let map = new Cesium.WebMapTileServiceImageryProvider({url: "http://t0.tianditu.com/vec_c/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=c&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=a3dfb742357fb07dfca6a7ec78d89359",// url: 'http://t6.tianditu.gov.cn/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&style=default&tileMatrixSet=w&format=tiles&TileCol={TileCol}&TileRow={TileRow}&TileMatrix={TileMatrix}&tk=55df960f28de3b11cf469a75500e208c',// url: 'http://t6.tianditu.gov.cn/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&style=default&tileMatrixSet=w&format=tiles&TileCol={TileCol}&TileRow={TileRow}&TileMatrix={TileMatrix}&tk=55df960f28de3b11cf469a75500e208c',layer: "img",style: "default",format: "image/jpeg",tileMatrixSetID: "EPSG:4326",tilingScheme: new Cesium.GeographicTilingScheme(),tileMatrixLabels: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18']
})
map.customName = 'tianditu0'
const dd = viewer.imageryLayers.addImageryProvider(map);
// viewer.imageryLayers.lower(dd);//将图层下移一层
viewer.imageryLayers.lowerToBottom(dd);//将图层移到最底层
6.2 移除
与wms的移除是一样滴
cesium加载各类地图服务相关推荐
- Cesium 加载离线地图服务
Cesium 可以加载自定义的地图服务,一般在私有云上应用比较广. 原始地图数据有很多地方都可以下载.比如常用的下载工具,付费的有水经注.91助手等,还有国家空间地理服务的官网上也有可用的数据.假设你 ...
- leaflet、cesium加载百度地图,加载自定义样式百度地图
1 leaflet.cesium加载百度地图(官方预设样式) 预留,待补充 2 leaflet.cesium加载百度自定义样式地图 样式编辑器新版地址:http://lbsyun.baidu.com/ ...
- Cesium加载离线地图和离线地形
文章目录 前言 一.Cesium加载离线地图 1.1 下载数据 2.2 数据处理 2.3 地图发布 2.4下载速度改进 二.Cesium加载离线地形 2.1 下载数据 2.2 数据处理 2.3 地形发 ...
- Cesium加载离线地图
Cesium加载离线地图 一.下载地图并导出为tms格式 二.安装nginx并配置静态文件服务路径 一.下载地图并导出为tms格式 利用地图下载器下载相关范围的地图,然后导出为tms格式的地图切片 二 ...
- 使用cesium加载mapbox地图底色的办法
使用cesium加载mapbox地图底色的办法 安装:vue-cli-plugin-cesium插件 vue-cli-plugin-cesium - npm 获取cesium的token: 申请ces ...
- Arcgis加载离线地图服务二次开发
ARCGIS搭建离线地图服务器,进行离线地图二次开发 1. 离线地图金字塔瓦片数据 (下载数据教程:http://www.bigemap.com/helps/doc20190312126.h ...
- cesium加载百度地图_Cesium专栏-百度地图加载(附源码下载)
Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以 ...
- 046:cesium加载高德地图(多种形式)
第046个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中加载加载高德地图.这里区分了很多种形式,详情见核心分析和源代码. 直接复制下面的 vue+cesium源代码,操作2分钟即可 ...
- 043:cesium加载Bing地图(多种形式)
第043个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中加载加载Bing地图.这里显示4种形式的地图,分别为:AERIAL.ROAD.CANVAS_DARK.AERIAL_WITH ...
最新文章
- 基于Python查找图像中最常见的颜色
- 13.19. File system test
- 关于Python的装饰器(1)
- golang goroutine实现_golang技术随笔(二)理解goroutine
- IIS与ASP.NET管道
- 力扣题458:可怜的小猪
- openlayers地图旋转_OpenLayers的使用---- 一个完全免费开源的地图JS库
- Python 装饰器 函数
- python 数据驱动接口自动化框架_利用Python如何实现数据驱动的接口自动化测试...
- Vue中CSS模块化最佳实践
- 《敏捷可执行需求说明 Scrum提炼及实现技术》—— 3.1 运用试错法
- mysql修改表名,列名,列类型,添加表列,删除表列
- 如何设置高度为1的分隔线
- 题目 1040: 实数的打印
- 蒙特卡罗模拟计算定积分(R)
- 如何把图片转换成渐进式图片
- C语言中的strcat()函数
- 期末总结——Spark
- Redis Java连接使用
- iOS - 蓝牙开门智能门锁