Cesium学习笔记6——加载倾斜摄影模型
1.Cesium学习笔记1——安装配置2.Cesium学习笔记2——第一个Cesium程序3.地图服务器GeoServer4.Geoserver发布地图服务5.Cesium学习笔记3——调用Geoserver发布的WMS服务6.Cesium学习笔记4——加载天地图地图服务7.Cesium学习笔记5——加载topojson和Geojson
8.Cesium学习笔记6——加载倾斜摄影模型
9.Cesium开发遇到的问题解决10.Cesium学习笔记7——几何体绘制11.Cesium学习笔记8——加载城市建筑物火柴盒模型12.Cesium学习笔记9——鼠标交互绘制13.Cesium学习笔记10——通过WFS服务实现交互式属性查询14.Cesium学习笔记11——坐标量测15.Cesium学习笔记12——基于Cesium的分层分户模型构建与可视化本地的3dtiles模型采用ContextCapture 19生成. 利用Cesium实验室V3.08对OSGB格式转换到3dtiles,得到的结果加载时老是报
TypeError: Cannot read properties of undefined (reading 'updateTransform')错误。
没搞明白为啥,不过3dtiles文件夹层级目录的命名应该从以前到现在发生了不少改变。
目前CC19生成的目录如下:
发布后加载,有时候始终出不来,用CesiumLab三维可视功能加载一下,突然又好了,挺诡异的,还得再测试一下。
(经测试,Cesium换成1.88版本就可以了,在1.107,1.100中下面的代码无法正常显示倾斜模型。)
源码:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <!-- Use correct character set. --> 5 <meta charset="utf-8" /> 6 <!-- Tell IE to use the latest, best version. --> 7 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 8 <!-- Make the application on mobile take up the full browser screen and disable user scaling. --> 9 <meta 10 name="viewport" 11 content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" 12 /> 13 <title>Hello World!</title> 14 <script src="../Build/CesiumUnminified/Cesium.js"></script> 15 <style> 16 @import url(../Build/CesiumUnminified/Widgets/widgets.css); 17 html, 18 body, 19 #cesiumContainer { 20 width: 100%; 21 height: 100%; 22 margin: 0; 23 padding: 0; 24 overflow: hidden; 25 } 26 </style> 27 </head> 28 <body> 29 <div id="cesiumContainer"></div> 30 <script> 31 Cesium.Ion.defaultAccessToken='你的Token'; 32 var viewer = new Cesium.Viewer('cesiumContainer', { 33 timeline:false, 34 animation:false, 35 vrButton:true, 36 sceneModePicker:false, 37 infoBox:true, 38 scene3DOnly:true, 39 terrainProvider: Cesium.createWorldTerrain() 40 }); 41 viewer._cesiumWidget._creditContainer.style.display = "none"; 42 var tileset = new Cesium.Cesium3DTileset({ 43 url: "../Scene/tileset.json", 44 maximumScreenSpaceError : 1}); 45 <!-- const tileset = await Cesium.Cesium3DTileset.fromIonAssetId(40866);--> 46 viewer.scene.primitives.add(tileset); 47 viewer.zoomTo(tileset); 48 viewer.homeButton.viewModel.command.beforeExecute.addEventListener(function(commandInfo) { 49 // Fly to tileset 50 viewer.flyTo(tileset); 51 52 // Tell the home button not to do anything 53 commandInfo.cancel = true; 54 }); 55 </script> 56 </body> 57 </html>
效果:
作者:太一吾鱼水
文章未经说明均属原创,学习笔记可能有大段的引用,一般会注明参考文献。
欢迎大家留言交流,转载请注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了