我关注https://developer.autodesk.com/en/docs/viewer/v2/reference/javascript/markupscore/ api获取标记,但无法运行,这是我在查看器中加载的代码:
<script src="https://developer.api.autodesk.com/viewingservice/v1/viewers/three.min.js"></script>
<script src="https://developer.api.autodesk.com/viewingservice/v1/viewers/viewer3D.min.js"></script>
var viewerDiv = document.getElementById('MyViewerDiv');
viewer = new Autodesk.Viewing.Private.GuiViewer3D(viewerDiv);
viewer.start(svfUrl, modelOptions, onLoadModelSuccess, onLoadModelError);
var config = {markupDisableHotkeys:false};
markup=new Autodesk.Viewing.Extensions.Markups.Core.MarkupsCore(viewer,config);
console.log(markup);
var markupstatus=markup.enterEditMode();
console.log("markupstatus"+markupstatus);
但它无法运行并抛出错误:markup.enterEditMode();
TypeError: Argument 1 of Node.appendChild is not an object.
...ESIZE_EVENT,this.onViewerResizeBinded),a.container.appendChild(this.svg),this.in...
viewer3D.min.js (42 row,19037 line)
非常感谢任何帮助!
答案 0 :(得分:2)
此失败消息表示Autodesk.Viewing.Extensions.Markups.Core.MarkupsCore
未按照经验法则正确初始化,因此您只需在markup.load()
之前添加一行console.log(markup);
,它就会消失。
这是我的测试代码,希望你喜欢它〜
var viewer;
Autodesk.Viewing.Initializer(options, function onInitialized() {
var viewerDiv = document.getElementById( 'viewer' );
viewer = new Autodesk.Viewing.Private.GuiViewer3D( viewerDiv );
viewer.start( svfUrl, modelOptions, onLoadModelSuccess, onLoadModelError );
});
function onLoadModelSuccess() {
var config = { markupDisableHotkeys: false };
markup = new Autodesk.Viewing.Extensions.Markups.Core.MarkupsCore( viewer,config );
// Missing line here
markup.load();
var markupstatus = markup.enterEditMode();
console.log( 'markupstatus: ' + markupstatus );
}
function onLoadModelError() {
console.error( 'Failed to load model' );
}