信息框为空

InfoBox is empty

动态 select 一个元素后,我的 Cesium 信息框是空的。

这就是我 select 添加元素的方式。

public selectById(id: string): void {
    console.log('selecting ' + id);
    if (id != null) {
      // this.viewer is Cesium.Viewer => https://cesiumjs.org/Cesium/Build/Documentation/Viewer.html?classFilter=viewer
      this.viewer.selectedEntity = this.viewer.entities.getById(id);
      // viewer.flyTo messes up the camera pitch
      this.viewer.camera.flyTo({destination: this.viewer.selectedEntity.position.getValue(Cesium.JulianDate.now())});
    }
  }

实体已 selected,相机飞向它就好了,Cesium 信息框在标题中显示实体名称也很好,但不显示描述。如果我通过单击 select 实体,该框会很好地显示描述。

我找不到任何强制 InfoBox 重绘的内容,也找不到我需要为 InfoBox 更新设置的任何其他内容。那我错过了什么?


显然这是由于在地图容器设置为 display: none 时选择实体造成的。我能够通过延迟执行直到焦点返回到地图来解决这个问题。