创建具有复合视图的应用程序

尝试一下在线预览

此示例演示如何使用三个复合 MapView 创建应用程序,每个 MapView 都具有不同的空间参考。主视图用于显示 48 个相邻美国中的地区,而其他两个视图用于显示阿拉斯加和夏威夷的地区。将光标移到某个地区上可查看有关该地区的信息。

每个视图都使用相同的地图实例,该实例包含单个 FeatureLayer。要素图层在多方面是动态的,其中包括支持将要素投影到不同的空间参考。为此,请将 map 添加到视图中,并引用将在 DOM 中渲染视图的容器。然后将视图的空间参考设置为所需的坐标系。在下面的代码段中,我们为阿拉斯加创建了一个插图视图。因此,我们选择将数据投影到阿拉斯加极地立体坐标系,并设置范围以使阿拉斯加填充视图。

                          
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
const akView = new MapView({
  container: "akViewDiv",
  map: map,
  extent: {
    // autocasts as new Extent()
    xmin: 396381,
    ymin: -2099670,
    xmax: 3393803,
    ymax: 148395,
    spatialReference: {
      wkid: 5936
    }
  },
  spatialReference: {
    // WGS 1984 Alaska Polar Stereographic
    // projected coordinate system
    wkid: 5936
  },
  ui: {
    // clears all default widgets from the
    // inset view
    components: []
  }
});
// Add the alaska view container as an inset view
mainView.ui.add("akViewDiv", "bottom-left");

默认情况下,视图将使用底图的空间参考。如果未指定底图(例如在此示例中),则使用第一个业务图层的空间参考。将视图的空间参考显式设置为其他坐标系将覆盖业务图层的空间参考。此示例中图层的空间参考是 WGS-84 Web 墨卡托辅助球体。请参阅下图,其中比较了这两个空间参考之间阿拉斯加的视觉差异。

Alaska Polar StereographicWeb Mercator
views-composite-views-ak-polar views-composite-views-ak-wm

动态重新投影的功能将 FeatureLayer 与其他静态图层(如 VectorTileLayer)区分开来,后者仅显示带有熟化数据的空间参考的数据。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.