首页 / 浏览问题 / 三维GIS / 问题详情
webgl layer
9EXP 2017年02月27日

var promise = scene.addS3MTilesLayerByScp(URL_CONFIG.SCP_SRSB,{
name : 'srsb'
});
Cesium.when(promise).then(function(layer){
scene.camera.setView({
destination : new Cesium.Cartesian3(4181543.6006631823,969824.2804255498,4703633.589837628),
orientation : {
heading : 6.138658493075381,
pitch : -0.6944384190474868,
roll : 6.2825569181934835
}
});
var promiseColc = [
Cesium.loadImage('Tex/H0_128.png'),
Cesium.loadImage('Tex/H3_128.png'),
Cesium.loadImage('Tex/H6_128.png'),
Cesium.loadImage('Tex/H9_128.png'),
Cesium.loadImage('Tex/H12_128.png'),
Cesium.loadImage('Tex/H15_128.png'),
Cesium.loadImage('Tex/H18_128.png'),
Cesium.loadImage('Tex/H21_128.png'),
Cesium.loadImage('Tex/H24_128.png'),
Cesium.loadImage('Tex/H27_128.png'),
Cesium.loadImage('Tex/H30_128.png')
];
return Cesium.when.all(promiseColc);
}).then(function(imageArr){
var layer = scene.layers.find('srsb');
if(layer){
layer.AddImageArray(imageArr);
layer.SetBound3D(13.051344444444444,47.815783333333336,13.05866111111111,47.82214722222222,400.0,550.0);
}
});

上面代码是从你们官网的示例“体渲染”里找到的,请问layer.AddImageArray和layer.SetBound3D方法的说明在哪里有?类参考里没有找到。

1个回答

您好,layer应该是S3MTilesLayer。但是方法说明文档确实还找不到,可能是还没写到文档上。

AddImageArray这个应该是往图层添加纹理图片。

SetBound3D是设置图层的显示范围。

3,389EXP 2017年02月27日
谢谢!

我就是想在图层的某个构件上加一个本地的GIF图片,请教这应该怎么实现?

不确定能不能加gif的,Tex/H30_128.png您把png格式的缓存 gif格式的看看有用不,应该是不行。

试过了,转换了也不行。

但是问题是,我用本地发布的三维服务和普通的png怎么也不行呢?

请问SetBound3D这个方法的问题吗?参数具体怎么写啊?

您可能路径没对,是相对于您页面的路径的,比如我的是这样的

D:\Program Files\SuperMap\supermap_iserver_8.1.0_win64_zip\iClient\for3D\webgl\examples\Tex
路径应该没问题的,因为换成同路径其他的图片(例子提供的图片)就没有问题了,自己的图片就不行。

不知道是哪里问题了
viewer.entities.add({
   position: Cesium.Cartesian3.fromDegrees(longitude, latitude, height),
   billboard: { image: './Tex/tip.gif' }
});

gif的图片我加上去了,但是不能动,请教下为什么呢?大侠
那就是不支持GIF的啦。
...