1. 程式人生 > >Cesium入門13 - Extras - 附加內容

Cesium入門13 - Extras - 附加內容

Cesium入門13 - Extras - 附加內容

Cesium中文網:http://cesiumcn.org/ | 國內快速訪問:http://cesium.coinidea.com/

剩下的程式碼只是添加了一些額外的視覺化選項。類似於我們以前與HTML元素的互動,我們可以將偵聽器函式附加到切換陰影和neighborhood 多邊形可見性。

讓我們開始建立一個簡單的方法來切換neighborhood多邊形。一般來說,我們可以通過Entity.show用實體設定可見性來隱藏實體。但是,這隻為單個實體設定可見性,並且我們希望一次性隱藏或顯示所有的neighborhood實體。

我們可以通過將所有的neighborhood 實體新增到父實體中來實現這一點,如

本示例中所示,或者簡單地使用EntityCollectionshow屬性。然後,我們可以通過改變neighborhoods.show來為所有的子實體一次設定可見性。

var neighborhoodsElement =  document.getElementById('neighborhoods');

neighborhoodsElement.addEventListener('change', function (e) {
    neighborhoods.show = e.target.checked;
});

我們可以做一些類似的事情來切換陰影的可視性:

var shadowsElement = document.getElementById('shadows');

shadowsElement.addEventListener('change', function (e) {
    viewer.shadows = e.target.checked;
});

最後,由於3D Tiles可能不立即載入,所以我們也可以新增一個載入指示符,只有在tileset載入完成時才被移除(因此promise已經解決)。

Cesium中文網交流QQ群:807482793

Cesium中文網:http://cesiumcn.org/ | 國內快速訪問:http://cesium.coinidea.com/