首页 > 解决方案 > Autodesk Forge Viewer API 在 React Native 中不起作用

问题描述

几天前,我试图通过以下示例构建 Autodesk forge 查看器 API 与本机反应: https ://forge.autodesk.com/blog/forge-react-native-au-talk

它运作良好。它使用了查看器 v2.17,我使用了查看器 v7,但不幸的是,它没有显示任何内容。我发现了一个错误:当我使用 line viewer.start(); 时无法读取 null 的属性“纹理”;

请帮忙

标签: react-nativeautodesk-forge

解决方案


这是我的 HTML,我为查看器 v7 修改了它,但我收到了类似上面的错误。谢谢你的帮助

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
  <meta name="apple-mobile-web-app-capable" content="yes" />
  <link rel="stylesheet" href="https://developer.api.autodesk.com/derivativeservice/v2/viewers/style.min.css?v=v7.*" type="text/css">
  <script src="https://developer.api.autodesk.com/derivativeservice/v2/viewers/three.min.js?v=v2.17"></script>
  <script src="https://developer.api.autodesk.com/derivativeservice/v2/viewers/viewer3D.js?v=v7.*"></script>
</head>

<body style="margin:0">
  <div id="viewer"></div>
</body>
<script>
  var viewer = null;

  function initializeViewer(urn, token) {
    var options = {
      env: "AutodeskProduction",
      accessToken: token
    }
    Autodesk.Viewing.Initializer(options, () => {
      try {
        viewer = new Autodesk.Viewing.GuiViewer3D(document.getElementById('viewer'));
        viewer.start();
      } catch (err) {
        alert(err)
      }
      var documentId = urn;
      Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
    });

    function onDocumentLoadSuccess(doc) {
      var viewables = doc.getRoot().getDefaultGeometry();
      viewer.loadDocumentNode(doc, viewables).then(i => {
        // documented loaded, any action?
      });
    }

    function onDocumentLoadFailure(viewerErrorCode) {
      console.error('onDocumentLoadFailure() - errorCode:' + viewerErrorCode);
    }
  }
</script>


推荐阅读