幻灯片存储 WebScene 和 SceneView 的多个预设属性。如 basemap、viewpoint 和 visible layers 的快照。 visible layers 可能包含对 scene 中业务图层以及 ground 高程图层的引用(按 Layer),从而影响表面高程。
幻灯片包含其他元数据,如 title、description 和 thumbnail,可用于在用户界面中向用户呈现幻灯片。可以 created、updated 并且将 applied 应用在 SceneView中。此外,幻灯片可以存储为 WebScene.presentation 的一部分。
// 从视图创建幻灯片,并在以后应用它
Slide.createFrom(view).then(function(slide) {
// 将幻灯片添加到场景演示文稿
scene.presentation.slides.add(slide);
});
// At a later time
let firstSlide = scene.presentation.slides.getItemAt(0);
firstSlide.applyTo(view).then(function() {
// 幻灯片已经成功的添加到view中了
});
构造函数
-
new Slide(properties)
-
创建新的幻灯片实例。通常 Slide.createFrom 用于创建存储视图快照的新幻灯片。
参数:properties Objectoptional所有可传入构造函数的属性,请参见属性列表。
属性列表
属性 | 类型 | 描述 | 类 | |
---|---|---|---|---|
Basemap | 更多信息 场景的底图。 | 更多信息 | Slide | |
String | 更多信息 类名。 | 更多信息 | Accessor | |
Accessor | 更多信息 幻灯片的说明。 | 更多信息 | Slide | |
Accessor | 更多信息 表示影响 WebScene 的显示环境(如照明)的设置。 | 更多信息 | Slide | |
Accessor | 更多信息 此幻灯片的地面属性。 | 更多信息 | Slide | |
String | 更多信息 演示文稿的 slides 属性中 Presentation 的唯一 ID。 | 更多信息 | Slide | |
Accessor | 更多信息 数据 URI 编码的缩略图。 | 更多信息 | Slide | |
Accessor | 更多信息 幻灯片的标题。 | 更多信息 | Slide | |
Viewpoint | 更多信息 幻灯片的视点。 | 更多信息 | Slide | |
Collection<Accessor> | 更多信息 场景的可见图层。 | 更多信息 | Slide |
属性详细说明
-
场景的底图。幻灯片中仅存储 base 底图 和 reference参考图层。
此值可以是 Basemap 的实例,也可以是下表中列出的字符串之一。
值 描述 tianditu-vector 中国地图彩色版 tianditu-image 中国地图灰色版 geoscene-blue 中国地图蓝黑版 geoscene-warm 中国地图暖色版
-
起始版本: GeoScene API for JavaScript 4.22
-
类名。类的名称声明格式为
geoscene.folder.className
。
-
幻灯片的说明。
- 属性:
-
text String
说明。
-
表示影响 WebScene 的显示环境(如照明)的设置。
- 属性:
-
lighting Lighting
用于定义场景照明的设置。
-
此幻灯片的地面属性。
- 属性:
-
opacity Number
地面不透明度
-
id String
-
Presentation 的 slides 属性中的幻灯片的唯一ID。
-
数据 URI 编码的缩略图。
- 属性:
-
url String
指向表示幻灯片的缩略图图像的 URI。
-
幻灯片的标题。
- 属性:
-
text String
标题。
-
幻灯片的视点。这类似于书签,保存要从中查看场景的预定义位置或视点。
-
visibleLayers Collection<Accessor>autocast
-
场景的可见图层。这是一个对象集合,用于存储对 scene layers 和 ground layers 的引用(按 ID),在将幻灯片应用于 SceneView时,将他们设置为
visible
定可见图层时,将自动转换以下类型的值:
- Layer instances 的数组或者Collection:
[layerInstance, layerInstance]
- Layer IDs 的数组或者Collection):
["layer-1", "layer-2"]
下表概述了集合中每个对象的规范。
- 属性:
-
id String
WebScene 或 Ground 中 layer 的 ID,当幻灯片应用于视图时,该图层在 SceneView 是
visible
。由图层 id 指定的图层上可见子图层的服务 ID。如果不存在这种情况,则在应用幻灯片时不会更改子图层的可见性。
示例代码://将可见图层更新为场景中的第二个图层,以及地面中的第一个高程图层。 slide.visibleLayers = [ { id: scene.layers.getItemAt(1).id } { id: scene.ground.layers.getItemAt(0).id } ]; //使用等效方法 slide.visibleLayers = [scene.layers.getItemAt(0), scene.ground.layers.getItemAt(0)];
- Layer instances 的数组或者Collection:
方法列表
属性 | 返回值类型 | 描述 | 类 | |
---|---|---|---|---|
Promise<Slide> | 更多信息 将幻灯片的设置应用于SceneView. | 更多信息 | Slide | |
Slide | 更多信息 深拷贝对象。 | 更多信息 | Slide | |
Promise<Slide> | 更多信息 从 SceneView 创建幻灯片,该幻灯片可以添加到 WebScene 的 presentation 中的 slides 。 | 更多信息 | Slide | |
Promise<Slide> | 更多信息 从WebScene's slides 中更新幻灯片 | 更多信息 | Slide |
方法详细说明
-
将幻灯片的设置应用于 SceneView.
参数:规范:view SceneView应应用幻灯片的 SceneView。
options Objectoptional动画选项。有关对象规范,请参阅下面的属性。
规范:animate Booleanoptional默认值: true指示是否对幻灯片切换效果进行动画处理。
speedFactor Numberoptional默认值: 1按指定系数增加或减少动画速度。speedFactor 为 2 将使动画速度提高一倍,而 speedFactor 为 0.5 将使动画速度提高一半。设置速度系数将自动相应地调整默认最大温度。
duration Numberoptional设置动画的确切持续时间(以毫秒为单位)。请注意,默认情况下,动画持续时间是根据以恒定速度到达目标所需的时间来计算的。设置持续时间将覆盖 speedFactor 选项。请注意,生成的持续时间仍限于最大持续时间。
maxDuration Numberoptional默认值: 8000动画允许的最大持续时间(以毫秒为单位)。默认 maxDuration 值考虑了指定的速度因子。
easing String|EasingFunctionoptional用于动画的缓动函数。这可以是预设(命名)函数,也可以是用户指定的函数。支持的命名预设有:
linear
,in-cubic
,out-cubic
,in-out-cubic
,in-expo
,out-expo
,in-out-expo
默认情况下,小于 1000 毫秒的动画使用 out 缓动函数。较长的动画使用入出功能。
signal AbortSignaloptional可用于中止异步任务的信号对象。中止将导致幻灯片动画停止。 返回的 promise 将被拒绝,并在发出中止信号时返回一个名称为d
AbortError
的 Error namedAbortError
。有关如何构造可用于传递中止信号的控制器的详细信息,另请参阅 AbortController 。返回值:类型 描述 Promise<Slide> 当 resolved 后,返回更新后的幻灯片。 示例代码:// 将幻灯片的设置应用于视图,但更新视点时不使用动画 slide.applyTo(view, { animate: false });
// 将幻灯片的设置应用于视图,以最大值进行动画处理持续时间为 2 秒。 slide.applyTo(view, { maxDuration: 2000 });
slide.applyTo(view, { maxDuration: 2000 }).then(function(){ //将幻灯片的设置应用于视图后执行某些操作 });
-
从 SceneView, 创建幻灯片,该幻灯片可以添加到 WebScene 的 presentation 中的 slides 中。更新幻灯片是异步的,只有在返回的promise 已经解析了, 视图的快照才完成。
参数:规范:view SceneView应从中创建幻灯片的 SceneView。
options Objectoptional创建选项。有关对象规范,请参阅下面的属性
参数:规范:screenshot Objectoptional要使用的屏幕截图选项。有关对象规范,请参阅下面的属性。
规范:format Stringoptional默认值: png图片格式。
quality Numberoptional默认值: 80图片质量(由于压缩)。
width Numberoptional默认值: 120图片宽度。
height Numberoptional默认值: 75图片高度。
返回值:类型 描述 Promise<Slide> 当 resolved 后, 返回创建的幻灯片。 示例代码:// 从视图创建幻灯片,然后将其添加到web场景 Slide.createFrom(view).then(function(slide){ webscene.presentation.slides.add(slide); });
// 创建多个幻灯片从多个视点 view.goTo({ heading: 0 }, { animate: false }) .then(function() { // 标题为 0 创建第一张幻灯片 (looking north)
return Slide.createFrom(view); }) .then(function(slide){ // 幻灯片已捕获,已添加到演示文稿 webscene.presentation.slides.add(slide); // 更改视点,向东看 return view.goTo({ heading: 90 }, { animate: false }); }) .then(function() { // 捕获第二张幻灯片 return Slide.createFrom(view); }) .then(function(slide) { // 添加第二张幻灯片到文稿 webscene.presentation.slides.add(slide); });
-
从 WebScene's slides 更新幻灯片。更新幻灯片是异步的,只有在返回的promise是解析的,视图的快照才完成。
参数:规范:view SceneView幻灯片应从中更新的 SceneView。
options Objectoptional更新选项。有关对象规范,请参阅下面的属性。
参数:规范:screenshot Object要使用的屏幕截图选项。有关对象规范,请参阅下面的属性。
规范:format Stringoptional默认值: png图片格式。
quality Numberoptional默认值: 80图片质量(由于压缩)。
width Numberoptional默认值: 120图片宽度。
height Numberoptional默认值: 75图片高度。
返回值:类型 描述 Promise<Slide> 当resolved 后, 返回更新后的幻灯片。