ViewAnimation

AMD: require(["geoscene/views/ViewAnimation"], (ViewAnimation) => { /* 代码 */ });
ESM: import ViewAnimation from "@geoscene/core/views/ViewAnimation";
类: geoscene/views/ViewAnimation
继承于: ViewAnimation Accessor
起始版本: GeoScene API for JavaScript 4.22

包含用于检查动画状态的 state 属性。 视图动画在动画 finished 后被解析, 如果 stopped 则被拒绝。

watchUtils.when(view, "animation", function(animation) {
  console.log(animation.state); // 输出 "running"
  animation.when(function(animation) {
      console.log(animation.state); // 输出 "finished"
    })
    .catch(function(animation) {
      console.log(animation.state); // 输出 "stopped"
    });
});

或者,可以观察 state 属性的变化:

let animation = view.goTo(target, { speedFactor: 0.1 });
animation.watch("state", function(state) {
 switch (state) {
   case "finished":
     console.log("Animation finished.");
     break;
   case "stopped":
     console.log("Animation stopped.");
     break;
 }
});
示例:

构造函数

new ViewAnimation(properties)
参数:
properties Object
optional

所有可传入构造函数的属性,请参见属性列表

属性列表

可以设置、检索或监听的属性。参见 使用属性
展示继承属性 隐藏继承属性
属性 类型 描述
String更多信息

类名。

更多信息Accessor
String更多信息

动画的状态。

更多信息ViewAnimation
Viewpoint更多信息

动画的目标。

更多信息ViewAnimation

属性详细说明

declaredClass Stringreadonly inherited
起始版本: GeoScene API for JavaScript 4.22

类名。类的名称声明格式为 geoscene.folder.className

state Stringreadonly

动画的状态。

动画在状态 finishedstopped 时终止,并且无法再次转换为正在 runningfinished 状态表示动画已成功结束,而 stopped 状态表示动画在到达最终目标之前被中断。

可选值:"running"|"finished"|"stopped"|"waiting-for-target"

默认值:running
target Viewpoint

动画的目标。

方法列表

属性 返回值类型 描述
更多信息

通过立即转到目标来完成视图动画并将动画的状态设置为 finished

更多信息ViewAnimation
Boolean更多信息

isFulfilled() 可用于验证创建类的实例是否已完成(无论成功或失败)。

更多信息ViewAnimation
Boolean更多信息

isRejected() 可用于验证创建类的实例是否失败。

更多信息ViewAnimation
Boolean更多信息

isResolved() 可用于验证创建类的实例是否成功。

更多信息ViewAnimation
更多信息

将视图动画停止在其当前状态并将动画的状态设置为 stopped.

更多信息ViewAnimation
Promise更多信息

when() 创建类的实例后,会被执行一次。

更多信息ViewAnimation

方法详细说明

finish()

通过立即转到目标来完成视图动画并将动画的状态设置为 finished.

isFulfilled(){Boolean}

isFulfilled() 可用于验证创建类的实例是否已完成(无论成功或失败)。 如果已完成,将会返回true

返回值:
类型 描述
Boolean 指示创建类的实例是否已完成(无论成功或失败)。
isRejected(){Boolean}

isRejected() 可用于验证创建类的实例是否失败。 如果失败, 将会返回 true

返回值:
类型 描述
Boolean 指示是否已拒绝创建类的实例。
isResolved(){Boolean}

isResolved() 可用于验证创建类的实例是否成功。 如果成功, 将会返回 true

返回值:
类型 描述
Boolean 指示是否已解析创建类的实例。
stop()

将视图动画停止在其当前状态并将动画的状态设置为stopped.

when(callback, errback){Promise}
起始版本: GeoScene API for JavaScript 4.22

when() 创建类的实例后,会被执行一次。该方法接受两个参数: callback 函数和 errback 函数。 callback 在类的实例加载时执行。 如果类的实例无法加载,则执行 errback

参数:
callback Function
optional

当 Promise 成功时,该函数将被调用。

errback Function
optional

当 Promise 失败时,该函数将被调用。

返回值:
类型 描述
Promise 返回回调结果的新 promise,可用于链接其他函数。
示例代码:
// 尽管此示例使用 MapView,但任何作为 Promise 的类实例都可以以相同的方式使用 when()
let view = new MapView();
view.when(function(){
  // 当 Promise resolved 时,函数将被执行
}, function(error){
  // 当 Promise 通过 rejected 抛错时,这个函数将被执行
});

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.