cesium 加载网格

cesium 加载网格

 // -------------------------------------- ---------------------------------加载网格-----------------------------------------------------------------------------------
    var GridImagery= new Cesium.GridImageryProvider();
     //取消双击事件
     viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);
        //设置homebutton的位置
    Cesium.Camera.DEFAULT_VIEW_RECTANGLE =
            Cesium.Rectangle.fromDegrees(110.15, 34.54, 110.25, 34.56);//Rectangle(west, south, east, north)
    //设置初始位置
    // viewer.camera.setView({
    //         destination: Cesium.Cartesian3.fromDegrees(110.20, 34.55, 3000000)
    //     });
    var imageryLayers = viewer.imageryLayers;
    var GridImageryLayer = imageryLayers.addImageryProvider(GridImagery);//添加网格图层
    imageryLayers.raiseToTop(GridImageryLayer);//将网格图层置顶

在这里插入图片描述

### 解决Cesium加载地形时遇到的问题 #### 使用`fromWorldTerrain()`直接加载全球地形数据 当尝试使用 `Cesium.Terrain.fromWorldTerrain()` 方法来加载全球地形数据时,如果网络连接不稳定或服务器响应缓慢,则可能导致地形未能成功请求并影响图加载效果[^1]。 ```javascript let viewer = new Cesium.Viewer('cesiumContainer', { terrainProvider : Cesium.Terrain.fromWorldTerrain() }); ``` 这种方法虽然简单易用但由于依赖外部服务,在生产环境中并不总是稳定可靠的选择。因此官方也不推荐这种方式作为主要方案。 #### 更新至最新版本以适应API变化 随着Cesium不断迭代升级,部分早期版本中的函数签名可能发生变化。例如从某个版本之后(如v1.116),对于`CesiumTerrainProvider`对象实例化操作需采用异步方式处理,并且要确保正确配置Promise链以便于后续逻辑执行[^3]。 ```javascript async function initViewer() { const terrainProvider = await Cesium.createWorldTerrain(); let viewer = new Cesium.Viewer('cesiumContainer',{ terrainProvider: terrainProvider, sceneModePicker:false, // 可选参数设置 baseLayerPicker:false // 可选参数设置 }); } initViewer(); ``` 上述代码展示了如何利用最新的 API 特性实现更健壮的应用程序架构设计模式;同时也解决了因同步调用而导致的地图渲染失败问题。 #### 自定义本地地形提供者 为了提高系统的可控性和性能表现,可以考虑部署一套独立运行的服务端组件专门负责托管所需地理空间信息资源文件夹结构下的`.quantized-mesh`格式化的三维模型网格体以及对应的材质贴图纹理等辅助素材资产集合[^4]。 ```javascript const addTerrainProvider = new Cesium.CesiumTerrainProvider({ url: 'http://your-server-ip-or-domain/tiles/', }); viewer.scene.terrainProvider = addTerrainProvider; ``` 这里需要注意的是,所指定URL路径应当指向实际存在的Web服务器根目录下对应位置处存放有经过预处理转换后的有效二进制流形式的数据集副本。 #### 处理跨域资源共享(CORS)限制 针对某些情况下可能出现的浏览器同源策略安全机制阻止远程HTTP(S)请求获取必要资源的情况,可以通过调整前端路由映射规则或者是在后端开启相应的权限豁免接口等方式绕过此类约束条件从而顺利完成整个工作流程[^5]。 ```json { "/satellite": "http://example.com/satellite" } ``` 通过以上几种途径之一即可有效地缓解乃至彻底消除由不同原因引发的各种异常状况所带来的负面影响,保障项目顺利推进下去的同时也为用户提供更加流畅自然的操作体验环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值