添加真是建筑物

本示例演示如何将 SceneLayer 与逼真的纹理添加到 SceneView 中的地图。 SceneLayer 被赋予 6 米的偏移量,以更好地与地形对齐。通过启用阴影并使用 SceneView 的 environment 属性根据一天中的特定时间设置光照,场景变得更加逼真。

程序完整源代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no">
  <title>Realistic buildings with SceneLayer - 4.5</title>
  <style>
    html,
    body,
    #viewDiv {
      padding: 0;
      margin: 0;
      height: 100%;
      width: 100%;
    }
  </style>

  <link rel="stylesheet" href="https://js.arcgis.com/4.5/esri/css/main.css">
  <script src="https://js.arcgis.com/4.5/"></script>

  <script>
    require([
      "esri/Map",
      "esri/views/SceneView",
      "esri/layers/SceneLayer",
      "dojo/domReady!"
    ], function(Map, SceneView, SceneLayer) {

      var sceneLayer = new SceneLayer({
        portalItem: {
          id: "2342ab7928834076a1240fb93c60e978"
        },
        elevationInfo: {
          mode: "absolute-height",
          offset: 6
        }
      });

      var map = new Map({
        basemap: "hybrid",
        ground: "world-elevation",
        layers: [sceneLayer]
      });

      var view = new SceneView({
        container: "viewDiv",
        map: map,
        camera: {
          position: [4.84361, 45.75561, 270],
          tilt: 82,
          heading: 304
        },
        // 设置光影
        environment: {
          lighting: {
            date: new Date("July 15, 2015 8:00:00 PDT"),
            directShadowsEnabled: true
          },
          atmosphere: {
            quality: "high"
          }
        }
      });
    });
  </script>
</head>

<body>
  <div id="viewDiv"></div>
</body>
</html>

程序运行效果:

沙箱地址:https://developers.arcgis.com/javascript/latest/sample-code/sandbox/index.html?sample=layers-scenelayer-texture

(完)

results matching ""

    No results matching ""