cesium监听二三维切换

// 切换前执行
this._viewer.sceneModePicker.viewModel.morphTo2D.afterExecute.addEventListener(() => {
                do something...
});
        
// 切换后执行
this._viewer.sceneModePicker.viewModel.morphTo2D.afterExecute.addEventListener(() => {
                do something...
});
        

判断当前场景的二三维:

if (this._viewer.scene.mode !== SceneMode.SCENE3D) {
    this._viewer.scene.morphTo3D(0);
}

备注:

morphTo3D切换到3d,

morphTo2D切换到2d, 

morphToColumbusView切换到哥伦比亚视图

### 如何在Cesium切换不同的地球地图图层或底图 #### 使用`Viewer`对象初始化时指定底图 当创建一个新的 `Viewer` 对象来展示三地球视图时,可以通过传递参数给构造函数来自定义初始状态下的底图。具体来说,在实例化过程中可以设置 `imageryProvider` 属性以指明要使用的影像提供者作为默认底图[^2]。 ```javascript let viewer = new Cesium.Viewer('cesiumContainer', { imageryProvider : new Cesium.ArcGisMapServerImageryProvider({ url : 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer' }), }); ``` #### 动态更改现有场景中的底图 如果已经有一个正在运行的地图应用并希望允许用户交互式地改变所见的底图,则应利用 `baseLayerPicker` 组件以及相应的事件监听机制。通过启用此选项 (`baseLayerPicker: true`) 并构建一系列可用作选择项的对象列表(`imageryProviderViewModels`) ,可以让用户轻松完成底图之间的转换操作而无需刷新整个页面。 ```javascript viewer.baseLayerPicker.viewModel.imageryProviderViewModels.push( new Cesium.ProviderViewModel({ name : 'Custom Imagery', iconUrl : './path/to/icon.png', tooltip : 'Use custom imagery from ArcGIS Online.', creationFunction : function() { return new Cesium.ArcGisMapServerImageryProvider({ url : 'https://server.arcgisonline.com/ArcGIS/rest/services/Specialty/DeLorme_World_Base_Map/MapServer' }); } })); ``` #### 利用第三方服务提供商的数据源 对于某些特定需求的应用程序而言,可能还需要集成来自不同供应商的服务接口以便获取更丰富的地理信息资源。例如,基于天地图的服务就可以作为一个很好的补充方案用于扩展本地部署系统的功能特性[^3]。 ```javascript var tdt_img_layer = new Cesium.WebMapTileServiceImageryProvider({ url : "http://t0.tianditu.gov.cn/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=your_api_key", }); // 将其添加到现有的 Base Layer Picker 中供用户选择 viewer.baseLayerPicker.viewModel.imageryProviderViewModels.unshift(new Cesium.ImageryProviderViewModel(tdt_img_layer)); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值