Autodesk forge 如何知道fitToView()已完全完成

Autodesk forge 如何知道fitToView()已完全完成,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,我想知道fitToView()完全完成了。 如果没有setTimeout(),某些程序过程在fitoView()之后无法运行。 例如,以下代码不起作用 const dbid = [1141] this.viewer.select(dbid) this.viewer.fitToView(dbid, viewer.model) zoom() //This will not work //code from: function zoom (){ var nav = viewer.navig

我想知道fitToView()完全完成了。
如果没有setTimeout(),某些程序过程在fitoView()之后无法运行。 例如,以下代码不起作用

const dbid = [1141]
this.viewer.select(dbid)
this.viewer.fitToView(dbid, viewer.model)
zoom() //This will not work

//code from: 
function zoom (){
    var nav = viewer.navigation
    var pos = nav.getPosition()
    var target = nav.getTarget()
    var viewdir = new THREE.Vector3()
    viewdir.subVectors (pos, target).normalize()
    // zooms out by 100 along the view direction
    viewdir.multiplyScalar (1000)
    pos.add(viewdir)
    nav.setPosition(pos)
}
下面的代码运行良好

this.viewer.fitToView(dbid, viewer.model)
setTimeout(function(){
    zoom() //This will work fine
}, 2000)
但是,我不想尽可能多地使用setTimeout。

有没有办法知道FitView()已完全完成?

如果使用3.2.1版的查看器,Autodesk.Viewing.CAMERA\u TRANSITION\u COMPLETED将启动一个新事件
,它将在以下转换完成时启动:

回家过渡 焦点/适合视图转换 恢复状态转换 命名视图转换 任何其他摄影机转换

//勾引事件

viewer.addEventListener(Autodesk.Viewing.CAMERA_TRANSITION_COMPLETED, function(){
console.log('camera is no longer moving');
viewer.fitToView();
}))

//触发将移动相机并触发事件的操作

viewer.addEventListener(Autodesk.Viewing.CAMERA_TRANSITION_COMPLETED, function(){
console.log('camera is no longer moving');
viewer.fitToView();
您可以在此处查看有关查看器版本更改的更多信息。

您好,我正在与我们的工程师核实是否有活动在fittoView结束时启动。