MarkupsCore未运行

时间:2017-05-09 09:36:49

标签: autodesk-forge autodesk-viewer

我关注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)

非常感谢任何帮助!

1 个答案:

答案 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' );
}