Angular 使铯全屏显示

Angular 使铯全屏显示,angular,cesium,Angular,Cesium,我用铯在用Angular开发的网页上显示一个3D模型。问题是,当我点击按钮使查看器全屏显示时,背景变黑,查看器不会拉伸,正如铯角Git报告中所解释的那样 在我的例子中,铯是在我的Angular项目中的一个指令中定义的,我在我需要的所有组件中调用它,只需将一个属性传递给div即可。例如: <div [appCesium]="myResource.url + '/model.json'" class="cesiumContainer"></div> 有什么想法吗 编辑 目

我用铯在用Angular开发的网页上显示一个3D模型。问题是,当我点击按钮使查看器全屏显示时,背景变黑,查看器不会拉伸,正如铯角Git报告中所解释的那样

在我的例子中,铯是在我的Angular项目中的一个指令中定义的,我在我需要的所有组件中调用它,只需将一个属性传递给div即可。例如:

<div [appCesium]="myResource.url + '/model.json'" class="cesiumContainer"></div>
有什么想法吗


编辑

目前,我通过向全屏按钮添加一个侦听器“修复”了这个问题,如下所示:

viewer.fullscreenButton.viewModel.command.afterExecute.addEventListener(function() {
  const canvas = viewer.canvas;
  if ('webkitRequestFullscreen' in canvas) {
    // chrome
    canvas.webkitRequestFullscreen();
  } else if ('requestFullScreen' in canvas) {
      // other browsers
      canvas.requestFullScreen();
  }
});
但这种方法存在两个问题:

  • 只有画布才会全屏显示。小部件丢失了
  • 铯上的“全屏”按钮图标,在第一次点击后将变为“退出全屏模式”,并且永远不会变回
如果你们中的任何一个人有一个解决这个问题的更好的方法,我把问题留在这里

viewer.fullscreenButton.viewModel.command.afterExecute.addEventListener(function() {
  const canvas = viewer.canvas;
  if ('webkitRequestFullscreen' in canvas) {
    // chrome
    canvas.webkitRequestFullscreen();
  } else if ('requestFullScreen' in canvas) {
      // other browsers
      canvas.requestFullScreen();
  }
});