Cesium基本使用

1.初始化地图

首先要定义一个div作为地图容器

<div id="mapContainer"></div>

创建Cesium.Viewer实例,绑定上面创建的容器 

let viewer = new Cesium.Viewer(document.getElementById('mapContainer'),{
        //  sceneMode: Cesium.SceneMode.SCENE3D,
         animation:false, //动画小组件
         baseLayerPicker: false, //地图组件,选择三维数字地球的地图(imagery and terrain)
         fullscreenButton: false, //全屏组件
         vrButton: false, //vr模式
         geocoder: false, //地理编码搜索组件
         homeButton: false, //首页,点击之后将视图跳转到默认视角
         infoBox: false, //信息框
         sceneModePicker: false, //场景模型,切换2D,3D和Columbus View(CV)模式
         selectionIndicator: false, //是否显示选取指示器组件
         timeline: false, //时间轴
         navigationHelpButton: false, //帮助提示,如何操作数字地球
         //如果最初应该看到导航说明,则为true,如果直到用户明确单击该按钮,则该提示不显示,否则为false
         navigationInstructionInitiallyVisible: false,
        //  terrainProvider: Cesium.createWorldTerrain(),//显示地形
         scene3DOnly: true,
         //天空盒效果
     })

2.加载天地图影像和注记服务

使用天地图服务需要在天地图网站注册获取token

添加天地图影像服务

let tdtImageryLayer = new Cesium.WebMapTileServiceImageryProvider({
       url:"http://t0.tianditu.com/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk="+{token}
       layer:"tdtBasicLayer"
       style: "default",
       format: "image/jpeg",
       tileMatrixSetID: "GoogleMapsCompatible",
       show: false
});

//添加影像图层到地图上
viewer.imageryLayers.addImageryProvider(tdtImageryLayer)

添加天地图注记服务

let tdtNoteImageryLayer = new Cesium.WebMapTileServiceImageryProvider({
       url:"http://t0.tianditu.com/cia_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default.jpg&tk="+{token}
       layer:"tdtAnnoLayer"
       style: "default",
       format: "image/jpeg",
       tileMatrixSetID: "GoogleMapsCompatible",
       show: false
});

//添加注记图层到地图上
viewer.imageryLayers.addImageryProvider(tdtNoteImageryLayer)

3.加载本地影像切片服务

以下为添加本地TMS切片, 切片之前为tiff格式,在ArcMap中导出数据,使用cesiumlab对导出的数据进行切片,并将切片添加到本地Apache的webapps文件目录下,启动Apache获取资源

//切片资源路径
const CESIUM_SOURCE_PATH = 'http://localhost:8080/vegetationClass/'

let TMSImageryLayer = new Cesium.TileMapServiceImageryProvider({
   url: CESIUM_SOURCE_PATH + `zhouquEcoSer`
}

viewer.imageryLayers.addImageryProvider(TMSImageryLayer )

4.加载geojson数据

geojson数据通过shp数据进行转换,转换网站

转换完成之后使用Cesium.GeoJsonDataSource加载geojson数据

//导入geojson
import geojson from 'geojson路径'

//添加geojson数据
Cesium.GeoJsonDataSource.load(geojson, {
        }).then((dataSource) => {
            var entities = dataSource.entities.values; 
            // 循环遍历每个实体 
            for (var i = 0; i < entities.length; i++) { 
                let entity = entities[i];

                    //设置多边形的边框颜色
                    entity.polygon.outline = false;
                    entity.polygon.fill = false; // 不填充多边形 
                    //单独设置线条样式
                    var positions = entity.polygon.hierarchy._value.positions;
                    entity.polyline = {
                        positions: positions,
                        width: 3,
                        material: Cesium.Color.fromCssColorString(SPOTCOLOR.value),
                        clampToGround: true
                    }
                    entity.name = 'spot'
                    viewer.entities.add(entity)
                    viewerRight.entities.add(entity)

            }
                
        })

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值