Cesium加载各种类型数据的图层(JS实现)

x33g5p2x  于2022-04-27 转载在 其他  
字(1.9k)|赞(0)|评价(0)|浏览(644)

加载geoserver发布的WMS服务

geoserver发布服务详见:https://blog.csdn.net/weixin_43598687/article/details/124102651

  1. var provider1 = new Cesium.WebMapServiceImageryProvider({
  2. url:'http://localhost:8080/geoserver/test/wms', //wms服务路径
  3. layers: 'test:dem', //图层名
  4. parameters: {
  5. service : 'WMS', //服务类型
  6. format: 'image/png', //格式
  7. srs: 'EPSG:4326', //坐标系
  8. transparent: true, //是否透明
  9. }
  10. });
  11. tifLayer = viewer.imageryLayers.addImageryProvider(provider1);

移除图层

  1. viewer.imageryLayers.remove(tifLayer);

加载KMZ/KML文件

  1. var options = {
  2. camera : viewer.scene.camera,
  3. canvas : viewer.scene.canvas,
  4. clampToGround: true //开启贴地
  5. };
  6. viewer.dataSources.add(Cesium.KmlDataSource.load('./static/lith.kmz', options)).then(function(dataSource){
  7. viewer.clock.shouldAnimate = false;
  8. var rider = dataSource.entities.getById('tour');
  9. viewer.flyTo(rider).then(function(){
  10. viewer.trackedEntity = rider;
  11. viewer.selectedEntity = viewer.trackedEntity;
  12. viewer.clock.multiplier = 30;
  13. viewer.clock.shouldAnimate = true;
  14. });
  15. });

移除图层

  1. datasource = viewer.dataSources.get(viewer.dataSources.length-1);
  2. viewer.dataSources.remove(datasource, true);

加载JSON文件

  1. let smcPromise = Cesium.GeoJsonDataSource.load('./static/ALL.json',{
  2. clampToGround : true, //开启贴地
  3. });
  4. smcPromise.then(function (dataSource){
  5. viewer.dataSources.add(dataSource);
  6. });

移除图层

  1. datasource = viewer.dataSources.get(viewer.dataSources.length-1);
  2. viewer.dataSources.remove(datasource, true);

在指定经纬度添加标签和地名

  1. label1 = viewer.entities.add({
  2. id:'name1',
  3. name:'name1',
  4. position:Cesium.Cartesian3.fromDegrees(103.769601,33.264294), //经纬度
  5. heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, //开启贴地
  6. billboard:{ //加载图片图标
  7. image: './static/roadLabel.png',
  8. height: 40,
  9. width: 40,
  10. heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
  11. pixelOffset : new Cesium.Cartesian2(0, 0), //偏移量
  12. },
  13. label:{
  14. text:'text',
  15. font:'16pt 宋体',
  16. fillColor:Cesium.Color.WHITE,
  17. style: Cesium.LabelStyle.FILL,
  18. outlineWidth : 1,
  19. heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
  20. pixelOffset : new Cesium.Cartesian2(60, 0)
  21. },
  22. });

相关文章