LegendViewModel

AMD: require(["geoscene/widgets/Legend/LegendViewModel"], (LegendVM) => { /* 代码 */ });
ESM: import LegendVM from "@geoscene/core/widgets/Legend/LegendViewModel";
类: geoscene/widgets/Legend/LegendViewModel
继承于: LegendViewModel Accessor
起始版本: GeoScene API for JavaScript 4.22

Legend 微件提供逻辑,该微件显示用于解释 Renderer 的标签和符号地图中的每一层。此类可用于创建自定义的交互式 Legend 微件。

示例:
示例代码:
const legend = new Legend({
  view: view,
  viewModel: new LegendViewModel({
    view: view
  })
});
view.ui.add(legend, "bottom-left");

构造函数

new LegendViewModel(properties)
参数:
properties Object
optional

所有可传入构造函数的属性,请参见属性列表

属性列表

可以设置、检索或监听的属性。参见 使用属性
展示继承属性 隐藏继承属性
属性 类型 描述
Collection<ActiveLayerInfo>更多信息

图例视图用于在图例中显示数据的 ActiveLayerInfo 对象的集合。

更多信息LegendViewModel
Boolean更多信息

指示是否在图例中显示 Basemap 图层。

更多信息LegendViewModel
String更多信息

类名。

更多信息Accessor
Boolean更多信息

true 时,只有在视图范围内可见的图层才会显示在图例中。

更多信息LegendViewModel
Object[]更多信息

指定地图中要显示在图例中的图层子集。

更多信息LegendViewModel
Boolean更多信息

确定是否尊重地图中控制图例可见性的图层属性(minScalemaxScalelegendEnabled)。

更多信息LegendViewModel
String更多信息

视图模型的状态。

更多信息LegendViewModel
MapView|SceneView更多信息

微件将从中操作的视图。

更多信息LegendViewModel

属性详细说明

自动转换自 Object[]

图例视图用于在图例中显示数据的 ActiveLayerInfo 对象的集合。当 ActiveLayerInfo 从该集合中删除或添加到该集合时,使用此属性隐藏或显示图例中的图层符号。

basemapLegendVisible Boolean

指示是否在图例中显示 Basemap 图层。

默认值:filterBasemaps
示例代码:
legend.viewModel.basemapLegendVisible = true;
declaredClass Stringreadonly inherited

类名。类的名称声明格式为 geoscene.folder.className

hideLayersNotInCurrentView Boolean
起始版本: GeoScene API for JavaScript 4.22

true 时,只有在视图范围内可见的图层才会显示在图例中。当图层中的数据在视图中不可见时,图层的图例信息将被隐藏。

要从图例中完全隐藏图层,您应该将图层的 legendEnabled 属性设置为 false

默认值:false
示例:
示例代码:
// layers not displayed in the view
// will not be shown in the legend
legend.viewModel.hideLayersNotInCurrentView = true;
layerInfos Object[]

指定地图中要显示在图例中的图层子集。如果未设置此属性,则地图中的所有业务图层都将显示在图例中。此属性可用于控制图例中的图层显示顺序。此数组中的对象使用下面列出的属性定义。

属性:
title String
optional

指定图层的标题。如果未指定标题,则使用服务名称。

layer Layer
optional

添加到图例的图层。

respectLayerVisibility Boolean
起始版本: GeoScene API for JavaScript 4.22

确定是否尊重地图中控制图例可见性的图层属性(minScalemaxScalelegendEnabled)。默认情况下,在以下条件下,图层的图例元素不会在图例中呈现

当图例的 respectLayerVisibility 属性设置为 false 时,地图中每个图层的图例元素将始终显示,从而忽略 minScalemaxScalelegendEnabled 属性用于地图中的每个图层。

默认值:true
示例:
示例代码:
// Always displays legend elements for the map's layers
// regardless of their minScale, maxScale, and legendEnabled properties
legend.respectLayerVisibility = false;
state Stringreadonly

视图模型的状态。

可选值:"ready"|"disabled"

默认值:disabled

微件将从中操作的视图。

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