• geoscene/views

ViewAnimation

AMD: require(["geoscene/views/ViewAnimation"], (ViewAnimation) => { /* code goes here */ });
ESM: import ViewAnimation from "@geoscene/core/views/ViewAnimation";
类: geoscene/views/ViewAnimation
继承于:ViewAnimation Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.0

包含用于检查动画状态的 state 属性。当动画状态为 finished 时,视图动画则被解决;如果为 stopped,则被拒绝。

reactiveUtils.when(() => view.animation, function(animation) {
  console.log(animation.state); // prints out "running"
  animation.when(function(animation) {
      console.log(animation.state); // prints out "finished"
    })
    .catch(function(animation) {
      console.log(animation.state); // prints out "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 Maps SDK for JavaScript 4.7

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

state Stringreadonly

动画的状态。

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

可能值"running"|"finished"|"stopped"|"waiting-for-target"

默认值:running
target Viewpoint

动画的目标。

方法概述

显示继承的方法 隐藏继承的方法
名称 返回值类值 描述

添加一个或多个与对象的生命周期相关联的句柄。

更多详情
Accessor

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

更多详情
ViewAnimation
Boolean

如果存在指定的句柄组,则返回 true。

更多详情
Accessor
Boolean

isFulfilled() 可用于验证创建类的实例是否已完成 (已解决或已拒绝)。

更多详情
ViewAnimation
Boolean

isRejected() 可用于验证创建类的实例是否被拒绝。

更多详情
ViewAnimation
Boolean

isResolved() 可用于验证创建类的实例是否已解决。

更多详情
ViewAnimation

移除对象拥有的句柄组。

更多详情
Accessor

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

更多详情
ViewAnimation
Promise

一旦创建了类的实例,就可以使用when()

更多详情
ViewAnimation

方法详细说明

addHandles(handleOrHandles, groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

// Handle gets removed when the object is destroyed.
this.addHandles(handle);
参数
handleOrHandles WatchHandle|WatchHandle[]

对象销毁后,标记为要移除的句柄。

groupKey *
optional

标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。

finish()

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

hasHandles(groupKey){Boolean}inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

如果存在指定的句柄组,则返回 true。

参数
groupKey *
optional

组键。

返回
类型 描述
Boolean 如果存在指定的句柄组,则返回 true
示例
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
isFulfilled(){Boolean}

isFulfilled() 可用于验证创建类的实例是否已完成 (已解决或已拒绝)。如果满足,则返回 true

返回
类型 描述
Boolean 指示创建类的实例是否已完成 (已解决或已拒绝)。
isRejected(){Boolean}

isRejected() 可用于验证创建类的实例是否被拒绝。如果被拒绝,则返回 true

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

isResolved() 可用于验证创建类的实例是否已解决。如果已解决,则返回 true

返回
类型 描述
Boolean 指示创建类的实例是否已解决。
removeHandles(groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

移除对象拥有的句柄组。

参数
groupKey *
optional

要移除的组键或组键的数组或集合。

示例
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");
stop()

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

when(callback, errback){Promise}
起始版本:GeoScene Maps SDK for JavaScript 4.6

一旦创建了类的实例,就可以使用when() 。此方法接受两个输入参数:callback 函数和 errback 函数。callback 在类的实例加载时执行。errback 在类的实例无法加载时执行。

参数
callback Function
optional

当 promise 解决时调用的函数。

errback Function
optional

当 promise 失败时执行的函数。

返回
类型 描述
Promise 返回 callback 结果的新承诺,可用于链接其他函数。
示例
// Although this example uses MapView, any class instance that is a promise may use when() in the same way
let view = new MapView();
view.when(function(){
  // This function will execute once the promise is resolved
}, function(error){
  // This function will execute if the promise is rejected due to an error
});

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息