显示 Web 场景

Web 场景是存储在 GeoScene Online 或 GeoScene Enterprise 中的场景。Web 场景项目包含场景的所有配置设置 (JSON 格式),如范围底图数据图层样式。应用程序可以使用其项目 ID 访问和显示 Web 场景

在本教程中,我们以 GeoScene Online 中的 Web 场景为示例。

步骤

创建新 Pen

  1. 在此之前,先了解显示地图教程

添加模块

  1. require 语句中,删除 MapMapView 模块。添加 WebSceneSceneViewLegend 模块。

    GeoScene Maps SDK for JavaScript 提供了 AMD 模块ES 模块,本教程中我们是以 AMD 为例。AMD 使用require 函数加载模块 - 例如,您可以指定 "geoscene/Map" 来加载 Map 模块。加载后,它们将作为参数 (例如,Map) 传递给回调函数,以便在应用程序中使用。保持引用模块和回调参数的顺序相同是很重要的。有关不同类型模块的更多信息,请访问工具指南主题。

    展开
    代码块使用深色
                                                                      
    移除行移除行添加行。添加行。添加行。更改行
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
          "geoscene/config",
    
          "geoscene/Map",
          "geoscene/MapView",
    
          "geoscene/WebScene",
          "geoscene/views/SceneView",
          "geoscene/widgets/Legend"
    
        ], function(geosceneConfig, WebScene, SceneView, Legend) {
    
    展开

加载 web 场景

使用门户项目 ID 创建 WebScene。将Web 场景赋予视图

  1. 删除创建 MapMapView 的代码。

    展开
    代码块使用深色
                                                                      
    移除行移除行移除行移除行移除行移除行移除行移除行移除行移除行
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    
          const map = new Map ({
            basemap: "tianditu-vector"
          });
    
          const view = new MapView({
              map: map,
              center: [-118.805, 34.027], // Longitude, latitude
              zoom: 13, // Zoom level
              container: "viewDiv" // Div element
            });
    
    
    展开
  2. 创建 WebScene。使用门户项目 ID 加载 Web 场景。

    展开
    代码块使用深色
                                                                      
    添加行。添加行。添加行。添加行。添加行。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    
          const webscene = new WebScene({
            portalItem: {
              id: "17665b4c5cc743a9b991edfbb2d02a74"
            }
          });
    
    展开

创建场景视图

  1. 创建 SceneView 并设置 containermap 属性。

    展开
    代码块使用深色
                                                                      
    添加行。添加行。添加行。添加行。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
          const webscene = new WebScene({
            portalItem: {
              id: "17665b4c5cc743a9b991edfbb2d02a74"
            }
          });
    
          const view = new SceneView({
            container: "viewDiv",
            map: webscene
          });
    
    展开
  2. 在右上角,单击运行以验证 Web 场景是否已成功加载并显示。

添加微件

添加 Legend 微件,显示视图中可见图层的图例

  1. 创建 Legend 对象显示图例,将 legend 添加到 view 的右上角 top-right 处。

    展开
    代码块使用深色
                                                                      
    添加行。添加行。添加行。添加行。添加行。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
          const view = new SceneView({
            container: "viewDiv",
            map: webscene
          });
    
          const legend = new Legend ({
            view:view
          });
    
          view.ui.add(legend, "top-right");
    
    展开

运行应用程序

CodePen 中,运行代码以显示地图。

下一步是什么?

要了解如何使用其他 API 功能,请参阅以下教程:

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。