【问题标题】:waiting for scene to be fully rendered in cesium等待场景在铯中完全渲染
【发布时间】:2015-05-07 07:31:37
【问题描述】:

在加载 kml 数据源时,我想显示加载图像,直到它可以在查看器或场景中可视化。 我试图处理:

  • viewer.dataSources.dataSourceAdded 事件但是很早就触发了,也就是说,加载图像在数据源可视化之前就消失了
  • 问题与

    相同

    viewer.dataSources.add(datasource).then(function(){ clearLoader(); } )

请任何人都可以提供帮助 谢谢 问候

【问题讨论】:

    标签: events scene cesium


    【解决方案1】:

    试试这个:

    viewer.dataSource.add(datasource); // add empty datasource.
    datasource.load(url).then(function () { clearLoader(); });
    

    .add 函数会立即返回,即使数据源为空。但是.load 函数返回一个承诺,一旦加载数据源就会解决。

    【讨论】:

      【解决方案2】:

      更新(即Cesium.viewer.dataSources.add()):

      数据源集合:

      添加(数据源)→承诺。

      将数据源添加到集合中。

      ...

      返回:一旦数据源解析的 Promise 已添加到集合中。

      (https://cesium.com/docs/cesiumjs-ref-doc/DataSourceCollection.html#add)

      然后按照另一个答案中的描述使用 Promise .then()

      【讨论】:

      • 嗯...Cesium.viewer 确实有 .flyTo().zoomTo() (cesium.com/docs/cesiumjs-ref-doc/…)...也许我会使用它...它说,“如果数据源是仍在加载过程中或可视化仍在加载中,此方法在执行飞行之前等待数据准备好。”
      • 有效! ^^^^^
      猜你喜欢
      • 2019-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多