Cesium基础知识-创建3dTiles

//加载3dTile

  1. function Load3dTiles() {
  2.     viewer = new Cesium.Viewer('cesiumContainer');
  3.     var city = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
  4.         url: Cesium.IonResource.fromAssetId(3839)
  5.     }));
  6.     var heightOffset = -32;
  7.     city.readyPromise.then(function (tileset) {
  8.         // Position tileset
  9.         var boundingSphere = tileset.boundingSphere;
  10.         var cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center);
  11.         var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0);
  12.         var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, heightOffset);
  13.         var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3());
  14.         tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
  15.     });
  16.     var defaultStyle = new Cesium.Cesium3DTileStyle({
  17.         color: "color('white')",
  18.         show: true
  19.     });
  20.     city.style = defaultStyle;
  21.     var heightStyle = new Cesium.Cesium3DTileStyle({
  22.         color: {
  23.             conditions: [
  24.                 ["${height} >= 300", "rgba(45, 0, 75, 0.5)"],
  25.                 ["${height} >= 200", "rgb(102, 71, 151)"],
  26.                 ["${height} >= 100", "rgb(170, 162, 204)"],
  27.                 ["${height} >= 50", "rgb(224, 226, 238)"],
  28.                 ["${height} >= 25", "rgb(252, 230, 200)"],
  29.                 ["${height} >= 10", "rgb(248, 176, 87)"],
  30.                 ["${height} >= 5", "rgb(198, 106, 11)"],
  31.                 ["true", "rgb(127, 59, 8)"]
  32.             ]
  33.         }
  34.     });
  35.     
  36.    
  37. /** 
  38.     var tileStyle = document.getElementById('tileStyle');
  39.     function set3DTileStyle() {
  40.         var selectedStyle = tileStyle.options[tileStyle.selectedIndex].value;
  41.         if (selectedStyle === 'none') {
  42.             city.style = defaultStyle;
  43.         } else if (selectedStyle === 'height') {
  44.             city.style = heightStyle;
  45.         } else if (selectedStyle === 'transparent') {
  46.             city.style = transparentStyle;
  47.         }
  48.     }
  49.     tileStyle.addEventListener('change', set3DTileStyle);
  50. */
  51. }
  52. Load3dTiles();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值