2017-05-09 5 views
0

je dois suivre https://developer.autodesk.com/en/docs/viewer/v2/reference/javascript/markupscore/ api pour obtenir le balisage, mais il ne peut pas courir, Ceci est mon code pour le chargement dans la visionneuse:MarkupsCore est pas exécuté

<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); 

mais il ne peut pas courir et lancer erreur dans: 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) 

Toute aide est fortement appréciée!

Répondre

2

Ce message d'échec signifie que Autodesk.Viewing.Extensions.Markups.Core.MarkupsCore n'a pas été correctement être initialisées par la règle de base, de sorte que vous pouvez simplement ajouter une seule ligne markup.load() avant console.log(markup);, et il sera parti.

Voici mes codes d'essai, espérons que vous apprécierez ~

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'); 
} 
+0

Merci beaucoup pour votre réponse, Eason –