更改底图图层

了解如何更改地图中的底图图层

API提供了几个默认底图可用,如地形图、矢量图和影像。

在本教程中,您将使用 Basemap ToggleBasemapGallery 微件来选择和显示不同的底图图层

步骤

创建新 Pen

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

添加模块

  1. 通过 require 引入Basemap ToggleBasemapGallery 模块。

    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
    67
        require([
          "geoscene/config",
          "geoscene/Map",
          "geoscene/views/MapView",
    
          "geoscene/widgets/BasemapToggle",
          "geoscene/widgets/BasemapGallery"
    
        ], function(geosceneConfig, Map, MapView, BasemapToggle, BasemapGallery) {
    
    展开

切换底图

切换底图最简单的方法是使用 Basemap Toggle 微件。我们展示如何使用该微件在 tianditu-vectortianditu-image 底图中切换。

  1. 创建 Basemap Toggle 并设置其 view。将 nextBasemap 属性设置为 tianditu-image

    展开
    代码块使用深色
                                                                       
    添加行。添加行。添加行。添加行。
    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
    67
          const view = new MapView({
            container: "viewDiv",
            map: map,
            center: [111.4,37.9],
            zoom: 4
          });
    
          const basemapToggle = new BasemapToggle({
            view: view,
            nextBasemap: "tianditu-image"
         });
    
    
    展开
  2. 将微件添加至 viewbottom-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
    67
          const view = new MapView({
            container: "viewDiv",
            map: map,
            center: [111.4,37.9],
            zoom: 4
          });
    
          const basemapToggle = new BasemapToggle({
            view: view,
            nextBasemap: "arcgis-imagery"
         });
    
          view.ui.add(basemapToggle,"bottom-right");
    
    展开
  3. 点击微件即可切换底图。

您还可使用 BasemapGallery 微件来选择不同的底图。

  1. 创建 BasemapGallery 并在 source 属性中设置 query 以搜索 "Basemaps for Developers" 底图组。

    展开
    代码块使用深色
                                                                       
    添加行。添加行。添加行。添加行。添加行。添加行。添加行。添加行。
    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
    67
          view.ui.add(basemapToggle,"bottom-right");
    
          const basemapGallery = new BasemapGallery({
            view: view,
            source: {
              query: {
                title: '"Basemaps for Developers" AND owner:geoscenedev'
              }
            }
          });
    
    
    展开
  2. 将微件添加至 viewtop-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
    67
          view.ui.add(basemapToggle,"bottom-right");
    
          const basemapGallery = new BasemapGallery({
            view: view,
            source: {
              query: {
                title: '"Basemaps for Developers" AND owner:geoscenedev'
              }
            }
          });
    
          view.ui.add(basemapGallery, "top-right"); // Add to the view
    
    展开

运行应用程序

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

您的应用程序中应有两个微件,它们提供不同的方式来选择底图。

下一步是什么?

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

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