forge Viewer - 标记相机更改问题
forge Viewer - Markup camera change issue
在我的查看器中,我有一个使用云模式绘制的标记,在相机更改事件期间,我无法在移动时将关联标签与标记映射。
为了完成这项工作,我存储了坐标,并且在相机更改事件中我使用 worldToClient 来查找新坐标,但这不起作用
所以问题在于找到原始世界坐标。我尝试了以下多种方法,但似乎对我没有任何作用。非常感谢这方面的帮助。仅供参考,附上相机更换前后模型的屏幕截图。
/*** option 1***/
worldCoord = markup.markups[0].generateBoundingBox().max;
/*** option 2***/
var coords = viewer.impl.clientToViewport(pos.x, pos.y);
worldCoord = coords.unproject(viewer.impl.camera)
/*** option 3***/
worldCoord = markup.markups[0].getClientPosition()
/*** option 4***/
worldCoord = viewer.clientToWorld(pos.x,pos.y,true);
/***option 5***/
worldCoord = markup.markups[0].getBoundingRect()
终于明白了
我们可以使用您的标签存储图层名称信息,并使用以下代码在您的相机更改事件中获取它。
position = markup.svgLayersMap[layerName].markups[0].getClientPosition()
希望这对某人有所帮助
在我的查看器中,我有一个使用云模式绘制的标记,在相机更改事件期间,我无法在移动时将关联标签与标记映射。 为了完成这项工作,我存储了坐标,并且在相机更改事件中我使用 worldToClient 来查找新坐标,但这不起作用
所以问题在于找到原始世界坐标。我尝试了以下多种方法,但似乎对我没有任何作用。非常感谢这方面的帮助。仅供参考,附上相机更换前后模型的屏幕截图。
/*** option 1***/
worldCoord = markup.markups[0].generateBoundingBox().max;
/*** option 2***/
var coords = viewer.impl.clientToViewport(pos.x, pos.y);
worldCoord = coords.unproject(viewer.impl.camera)
/*** option 3***/
worldCoord = markup.markups[0].getClientPosition()
/*** option 4***/
worldCoord = viewer.clientToWorld(pos.x,pos.y,true);
/***option 5***/
worldCoord = markup.markups[0].getBoundingRect()
终于明白了
我们可以使用您的标签存储图层名称信息,并使用以下代码在您的相机更改事件中获取它。
position = markup.svgLayersMap[layerName].markups[0].getClientPosition()
希望这对某人有所帮助