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


JavaScript ArcGIS LabelClass.deconflictionStrategy用法及代码示例


基本信息

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

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

ESM: import LabelClass from "@arcgis/core/layers/support/LabelClass";

类: esri/layers/support/LabelClass

继承: LabelClass > Accessor

自从:用于 JavaScript 4.0 的 ArcGIS API

用法说明

LabelClass.deconflictionStrategy函数(或属性)的定义如下:

deconflictionStrategy String


自从:ArcGIS 适用于 JavaScript 4.16 的 API

定义标签应如何相对于彼此放置。默认情况下,标签具有static 消除冲突策略,这意味着重叠的标签被丢弃以使其更易于阅读。

在某些标签重叠很少的情况下,最好使用none 选项关闭标签解除冲突。当labeling clusters 具有集群中心的特征计数时,也建议关闭解除冲突。

下图说明了您何时可能希望或可能不希望标签消除冲突。

在标记密集层时,默认的去冲突策略 (static) 更可取,因为标记所有特征会导致显著重叠,从而使标签难以辨认。保持默认设置允许渲染一些标签。随着用户放大,所有标签最终都会出现。

静态(默认)
layer-deconfliction-on layer-deconfliction-off

当使用小标签标记集群(甚至是稀疏分布的特征)时,最好允许标签略微重叠,因为信息仍然清晰易读并且不会显著遮挡可视化。在聚类场景中,static 的标签解除冲突设置实际上可能会导致更多的混乱,使某些特征看起来不是聚类。

静态(默认)
cluster-deconfliction-on cluster-deconfliction-off

已知限制

目前,此属性仅适用于 2D MapViews 中的 FeatureLayer、CSVLayer 和StreamLayer。

可能的值"none"|"static"

默认值:static

例子:

// Ensures all labels are displayed regardless
// of whether they overlap
labelClass.deconflictionStrategy = "none";

相关用法


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