当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS View用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/views/View"], (View) => { /* code goes here */ });

ESM: import View from "@arcgis/core/views/View";

类: esri/views/View

继承: View > Accessor

子类: MapView , SceneView

自从:用于 JavaScript 4.0 的 ArcGIS API

用法说明

视图提供了查看 Map 的组件并与之交互的方法。 Map 只是一个容器,用于存储基础层和业务层中包含的地理信息。视图呈现 Map 及其各种 layers ,使它们对用户可见。

有两种类型的视图:MapViewSceneView。 MapView 以 2D 形式渲染Map及其图层。 SceneView 以 3D 形式呈现这些元素。 View 是MapView 和SceneView 的基类,没有构造函数。要创建视图,您必须直接创建 MapViewSceneView 的实例。

MapView (2D) SceneView(3D)
mapview sceneview

要将视图与Map关联,必须将Map属性设置为 Map 的实例。

// Load the Map and MapView modules
require(["esri/Map", "esri/views/MapView"], function(Map, MapView) {
  // Create a Map instance
  let map = new Map({
    basemap: "topo-vector"
  });

  // Create a MapView instance (for 2D viewing) and set its map property to
  // the map instance we just created
  let view = new MapView({
    map: map,
    container: "viewDiv"
  });
});

在上面的代码片段中,您会注意到视图上设置了 container 属性。容器属性是对包含视图的 DOM 节点的引用。这通常是 <div> 元素。上面示例中引用的容器可能类似于:

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

您可以在 Create a 2D map tutorial 和任何可用的 samples 中观察视图与 HTML 容器的关系。

可以在视图上设置其他属性,例如旋转、缩放、弹出和填充。有关特定于在 2D 和 3D 中创建视图的其他属性,请参阅MapViewSceneView

Map 可能有多个与之关联的视图,包括 MapViews 和 SceneViews 的组合。请参阅 Geodesic buffers2D overview map in SceneView 示例,了解 MapView 和 SceneView 如何在单个应用程序中显示相同的Map。虽然多个视图可以引用同一个Map,但一个视图可能不会将自己与多个 Map 实例相关联。

视图还允许用户与Map的组件进行交互。例如,当用户点击或触摸Map中某个要素的位置时,他们既没有触摸该要素也没有触摸Map;该事件实际上由引用Map的视图和引用图层的LayerView 处理。因此,click 等事件不在 Map 或 Layer 上处理,而是在 View 上处理。有关其他详细信息,请参阅MapViewSceneView

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 View。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。