ZoomWindow 扩展在没有 GUI 的情况下中断?
ZoomWindow extension breaks without GUI?
使用查看器的 v2.13,ZoomWindow 扩展依赖于启用默认 GUI。有没有解决的办法?加载方式为:
proto.load = function() {
var viewer = this.viewer;
var toolbar = viewer.getToolbar(true);
//var toolbar = viewer.getToolbar ? viewer.getToolbar(true) : undefined;
// Init & Register tool
this.tool = new namespace.ZoomWindowTool(viewer);
viewer.toolController.registerTool(this.tool);
// Add the ui to the viewer.
this.createUI(toolbar);
return true;
};
失败,因为 getToolbar 未定义。
从注释掉的那一行看似乎已经考虑过,但没有实施。
实现解决方法的最佳方法是什么 - 我应该用新名称复制整个扩展,还是可以在运行时替换加载方法?
编辑:希望使用无头查看器,但似乎最简单的方法就是用 css 隐藏 UI。
我不清楚您是在使用 GuiViewer3D 还是想使用 Viewer3D(没有 Autodesk 自定义的查看器)UI。如果您使用 GuiViewer3D,您可以在加载 ZoomWindow 扩展之前简单地等待工具栏加载,这需要创建工具栏控件以便向其添加按钮。
viewer.addEventListener(Autodesk.Viewing.TOOLBAR_CREATED_EVENT, function () {
viewer.loadExtension('Autodesk.Viewing.ZoomWindow')
})
这是我不久前写的一篇关于在查看器中使用事件的博文。它不是最新的当前版本,但仍然有效:
http://adndevblog.typepad.com/cloud_and_mobile/2015/10/event-watcher-extension-for-view-data.html
正如 Zhong 提到的那样,如果您想使用没有 UI 的无头查看器并仍然使用该扩展程序,您可能必须按照您的建议复制和自定义它。但更简单的解决方法是使用 GuiViewer3D 并简单地使用 css 隐藏现有的工具栏,这样 js 代码仍然有效。例如,在 div id="guiviewer3d-toolbar" 上或在 adsk-control class.
上设置 display:none
希望对您有所帮助
使用查看器的 v2.13,ZoomWindow 扩展依赖于启用默认 GUI。有没有解决的办法?加载方式为:
proto.load = function() {
var viewer = this.viewer;
var toolbar = viewer.getToolbar(true);
//var toolbar = viewer.getToolbar ? viewer.getToolbar(true) : undefined;
// Init & Register tool
this.tool = new namespace.ZoomWindowTool(viewer);
viewer.toolController.registerTool(this.tool);
// Add the ui to the viewer.
this.createUI(toolbar);
return true;
};
失败,因为 getToolbar 未定义。
从注释掉的那一行看似乎已经考虑过,但没有实施。
实现解决方法的最佳方法是什么 - 我应该用新名称复制整个扩展,还是可以在运行时替换加载方法?
编辑:希望使用无头查看器,但似乎最简单的方法就是用 css 隐藏 UI。
我不清楚您是在使用 GuiViewer3D 还是想使用 Viewer3D(没有 Autodesk 自定义的查看器)UI。如果您使用 GuiViewer3D,您可以在加载 ZoomWindow 扩展之前简单地等待工具栏加载,这需要创建工具栏控件以便向其添加按钮。
viewer.addEventListener(Autodesk.Viewing.TOOLBAR_CREATED_EVENT, function () {
viewer.loadExtension('Autodesk.Viewing.ZoomWindow')
})
这是我不久前写的一篇关于在查看器中使用事件的博文。它不是最新的当前版本,但仍然有效: http://adndevblog.typepad.com/cloud_and_mobile/2015/10/event-watcher-extension-for-view-data.html
正如 Zhong 提到的那样,如果您想使用没有 UI 的无头查看器并仍然使用该扩展程序,您可能必须按照您的建议复制和自定义它。但更简单的解决方法是使用 GuiViewer3D 并简单地使用 css 隐藏现有的工具栏,这样 js 代码仍然有效。例如,在 div id="guiviewer3d-toolbar" 上或在 adsk-control class.
上设置 display:none希望对您有所帮助