2018 SuperMap WebGL三维常见问题解答集锦(二)

问:webgl中bingmapkey过期如何更新?
答:bingmap官网申请新的key,设置Cesium.BingMapsApi.defaultKey

问:设置好的风格的点数据生成缓存,发布服务,在webgl加载时没有数据
答:查看生成的缓存在桌面和在iServer上浏览有没有风格。如果桌面有而iServer上没有的话,可能是缓存的名称带#号,去掉名称上的#号

问:发布倾斜摄影三维服务后,在isever中以WebGL方式浏览,没有数据
答:1、isever发布服务,数据是独占的。在发布服务时,工作空间需要关闭
2、倾斜摄影生成s3m缓存文件需要放在osgb文件同一目录下
3、数据所存储的磁盘中没有读取数据的权限。打开存储磁盘的属性,打开选项,选择计算机的名称,勾选所有的权限

问:发布的倾斜摄影数据三维服务,使用webgl方式浏览时,加载数据时很慢
答:“1、查看生成的s3m缓存文件中单个s3m缓存文件的是否过大,单个s3m最合适的大小为几十k到几百k
2、在桌面中对原始的数据做合并根节点和模型生成大文件等操作”

问:添加的面实体对象设置不了线框
答:要设置面实体的height后,才能设置面实体对象线框

问:通视分析怎么更改观察点的位置,并让分析线也跟着移动
答:更改sightline.viewPosition的x,y,z值

问:对通过拉伸矢量面建的模型数据集生成缓存,发布成三维服务后,在iServer使用webgl形式浏览时没有数据
答:“1、查看数据缓存格式是否正确。发布三维服务的缓存数据需要生成s3m缓存,缓存配置文件格式为.scp。缓存方式是在场景右键生成缓存。
2、生成数据格式正确的情况下,有以下两种情况:
(1)发布服务时,工作空间没有关闭。
(2)工作空间和数据源所存储的磁盘没有读写数据的权限。
(3)发布服务前,场景最后保存的视角高度太高。发布的服务会记录场景最后保存的视角,如果场景最后的视角太高,也会导致数据看不见的情况
(4)生成缓存时,在LOD层级设置处,网格简化率太高,会导致模型在一定高度虚化程度太高从而看不见模型”

问:WebGL中,如何设置将相机位置固定到当前高度,禁止用户放大或缩小?
答:设置viewer.scene.screenSpaceCameraController.enableZoom = false;即可

问:按照官网的代码,给倾斜摄影数据做淹没分析没有成功
答:淹没分析支持地型数据、倾斜摄影模型、BIM模型、点云数据。若淹没分析没有成功可以查看缓存的.scp文件有没有记录最大最小高度值。记录了最大最小高度值的以上模型数据可以成功

问:怎么关闭场景和图层亮度随时间变化的效果
答:“关闭场景的太阳效果和图层的光照效果。同时设置scene.sun.show= false;
globe.enableLighting= false;s3mtileslayer.hasLight=false;”

问:对倾斜摄影和模型数据集生成了s3m缓存,发布三维服务后在pc端浏览,模型纹理变黑
答:生成的缓存为移动端缓存时,使用pc端浏览会出现模型纹理变黑

问:webgl中双击实体对象后会锁定对象,怎么取消锁定 viewer.trackedEntity可取消锁定
答:使用if先判断是否是viewer.trackedEntity,是则令viewer.trackedEntity=undefined;

问:webgl中怎么自定义鼠标监听事件,实现地球放大缩小
答:Cesium.ScreenSpaceCameraController可实现,通过更改ScreenSpaceCameraController.zoomEventTypes可设置地球放大缩小的鼠标键

问:怎么把场景里的经纬度转为屏幕的坐标
答:使用Cesium.SceneTransforms.wgs84ToDrawingBufferCoordinates可以实现

问:运行HTML工程,报错cesium is not defind
答:首先,查看项目文件夹中是否有webgl包中的build和js文件夹,里面包含所需的cesium.js和main.js文件。若没有,则添加上。其次,找到上述两个文件,打开main.js,里面记录着cesium.js相对main.js文件的相对路径,更改这个路径

你可能感兴趣的:(三维GIS)