标注
概述
API 中的许多类都支持标注功能。但是,根据图层类型、几何类型以及是在 2D 还是 3D 模式下工作,可以使用不同的属性和资源。
SceneView
在 3D SceneViews 中,FeatureLayer、CSVLayer、SceneLayer、StreamLayer、OGCFeatureLayer 和 Sublayer 都支持标注。labelingInfo 属性被指定为 LabelClass 对象的数组,其中包含 labelExpressionInfo、labelPlacement 和 TextSymbol3DLayer。TextSymbol3DLayer
类支持更改标注图形的材料、字体、光晕和其他属性。点、线和面都支持标注。
已知限制(SceneView)
- 当前不支持 Font.decoration 属性。
- 目前,一个要素只能有一个标注。如果要素满足多个 LabelClasses 的 where 条件,则仅显示与第一个匹配的 LabelClass 相对应的标注。
- 标注放置仅适用于点图层。
- 如果设置了 TextSymbol3DLayer.size 属性,它将覆盖 Font.size 属性。
SceneView 的字体
3D SceneViews 支持的字体系列取决于用户计算机上安装的字体和 Web 浏览器。如果应用使用未安装的字体,则 Font 类将实现一种回退机制,该机制将使用默认字体系列值,即 sans-serif
。
当使用 @font-face 加载字体时,在渲染标注时字体可能尚不可用。在这种情况下,标注要么使用默认字体,要么使用不受支持的字符符号渲染,以防默认字体不包含这些字符。为避免这种情况,请通过向 head 部分添加 link 元素并将 rel 属性设置为 preload
来预加载字体:
在 css 文件中定义字体:
并将其用于标注:
有关如何在 Windows 或 Mac 上安装新字体的说明,请参阅这些参考。
MapView
FeatureLayer、CSVLayer 和 StreamLayer
在 2D MapViews 中,FeatureLayer、CSVLayer、StreamLayer、OGCFeatureLayer 和 Sublayer 支持标注。labelingInfo 属性被指定为 LabelClass 对象的数组,该数组包含 labelExpressionInfo、labelPlacement 和 TextSymbol。TextSymbol
类支持更改标注图形的颜色、字体、光晕和其他属性。点、线和面支持标注。
已知限制(MapView)
- 对 Font.family、Font.style 和 Font.weight 属性的支持基于
.pbf
格式的托管字体文件。默认情况下,字体在https://doc.geoscene.cn/resources/fonts
上可用。可通过设置 geosceneConfig.fontsUrl 属性来配置 URL。请参阅可用字体系列的字体。
FeatureLayer、CSVLayer 和 StreamLayer 的字体
对 Font.family、Font.style 和 Font.weight 属性的支持基于 .pbf
格式的托管字体文件。默认情况下,可用字体与 GeoScene 矢量底图使用的字体大致相同。这些字体可通过 https://doc.geoscene.cn/resources/fonts
获得。可以通过设置 geosceneConfig.fontsUrl 属性将 URL 配置为指向您自己的字体资源。
如果字体不可用,它将使用默认字体系列,即 sans-serif
。这将使用 Arial Unicode MS
字体文件。
bold
、italic
或二者的字体要求在 Font.style 和 Font.weight 属性中设置这些属性,而不是在 Font.family 中设置。
请注意,这些字体也适用于 TextSymbol,无论它是在 2D MapView 中用作图形还是用作标注。
MapImageLayer
通过在 Sublayer 类上设置 labelingInfo 属性,MapImageLayer 可支持标注。labelingInfo
属性被指定为 LabelClass 对象的数组,其中包含 labelExpression、labelPlacement 和 TextSymbol。TextSymbol
类支持更改标注图形的颜色、字体、光晕和其他属性。点、线和面都支持标注。
MapImageLayer 的字体
在 MapView 中, MapImageLayers 支持的字体系列取决于用于发布图层的 GeoScene Server 上安装的字体。要检查 GeoScene Server 上可用的字体,请运行 Home > services > System > PublishingTools (GPServer)
下的 Available Fonts
任务(需要管理员访问权限)。要添加新字体,必须将该字体安装在您的计算机上,并通过使用 GeoScene Desktop 注册字体来供 GeoScene Server 访问。如果应用使用未安装的字体,则 Font 类将实现一种回退机制,该机制将使用默认字体系列值,即 sans-serif
。