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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cesium加载各种类型数据的图层(JS实现)相关的知识,希望对你有一定的参考价值。


文章目录

  • ​​加载geoserver发布的WMS服务​​
  • ​​加载KMZ/KML文件​​
  • ​​加载JSON文件​​
  • ​​在指定经纬度添加标签和地名​​

加载geoserver发布的WMS服务

var provider1 = new Cesium.WebMapServiceImageryProvider(
url:http://localhost:8080/geoserver/test/wms, //wms服务路径
layers: test:dem, //图层名
parameters:
service : WMS, //服务类型
format: image/png, //格式
srs: EPSG:4326, //坐标系
transparent: true, //是否透明


);

tifLayer = viewer.imageryLayers.addImageryProvider(provider1);

移除图层

viewer.imageryLayers.remove(tifLayer);

加载KMZ/KML文件

var options = 
camera : viewer.scene.camera,
canvas : viewer.scene.canvas,
clampToGround: true //开启贴地
;
viewer.dataSources.add(Cesium.KmlDataSource.load(./static/lith.kmz, options)).then(function(dataSource)
viewer.clock.shouldAnimate = false;
var rider = dataSource.entities.getById(tour);
viewer.flyTo(rider).then(function()
viewer.trackedEntity = rider;
viewer.selectedEntity = viewer.trackedEntity;
viewer.clock.multiplier = 30;
viewer.clock.shouldAnimate = true;
);
);

移除图层

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

加载JSON文件

let smcPromise = Cesium.GeoJsonDataSource.load(./static/ALL.json,
clampToGround : true, //开启贴地
);
smcPromise.then(function (dataSource)
viewer.dataSources.add(dataSource);
);

移除图层

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

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

label1 = viewer.entities.add(
id:name1,
name:name1,
position:Cesium.Cartesian3.fromDegrees(103.769601,33.264294), //经纬度
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, //开启贴地
billboard: //加载图片图标
image: ./static/roadLabel.png,
height: 40,
width: 40,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
pixelOffset : new Cesium.Cartesian2(0, 0), //偏移量
,
label:
text:text,
font:16pt 宋体,
fillColor:Cesium.Color.WHITE,
style: Cesium.LabelStyle.FILL,
outlineWidth : 1,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
pixelOffset : new Cesium.Cartesian2(60, 0)
,
);


以上是关于Cesium加载各种类型数据的图层(JS实现)的主要内容,如果未能解决你的问题,请参考以下文章

Cesium影像地图 收集了国内可用的图层

Cesium - 离线使用方法

cesium 影像图层 ImageryLayer

Cesium(四)加载影像图层

arcgismxd文件可以加载数据点吗

Cesium官方教程4--影像图层