标注

概览

API 中的许多类都支持标注功能。但是,根据图层类型、几何类型以及是在 2D 还是 3D 模式下工作,可以使用不同的属性和资源。

SceneView

所有具有 labelingInfo 属性的图层类型 (例如 FeatureLayer) 均支持标注。此属性被指定为 LabelClass 对象数组,其中包含 labelExpressionInfolabelPlacementTextSymbol3DLayerTextSymbol3DLayer 类支持更改标注图形的 materialfonthalo 和其他属性。点、折线和面均支持标注。

已知限制 (SceneView)

SceneView 的字体

3D SceneViews 支持的字体系列取决于安装在用户计算机和 Web 浏览器上的字体。如果应用程序使用了未安装的字体,则 Font 类将实现一个回退机制,该机制将使用默认字体系列值,即 sans-serif。有关如何在 WindowsMac 上安装新字体的说明,请参阅这些参考资料。

本地未安装的字体也可通过在 css 文件中定义 @font-face 来从 url 加载。

代码块使用深色复制
       
1
2
3
4
5
6
7
@font-face {
   font-family: "MyFont";
   font-style: normal;
   font-weight: 400;
   font-display: auto;
   src: url("./my-font.ttf") format("truetype");
} 

并从符号图层的 Font.family 属性中引用它:

代码块使用深色复制
               
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const labelSymbol = {
  type: "label-3d",
  symbolLayers: [
    {
      type: "text",
      material: {
        color: [0, 0, 0, 0.8]
      },
      font: {
        size: 30,
        family: "MyFont"
      }
    }
  ],
} 

MapView

FeatureLayer、CSVLayer 和 StreamLayer

在 2D MapViews 中,FeatureLayerCSVLayerStreamLayerOGCFeatureLayerSublayer 均支持标注。labelingInfo 属性被指定为 LabelClass 对象数组,其中包含 labelExpressionInfolabelPlacementTextSymbolTextSymbol 类支持更改标注图形的 colorfonthalo 和其他属性。点、折线和面均支持标注。

示例:多行标注

已知限制 (MapView)

  • Font.familyFont.styleFont.weight 属性的支持基于 .pbf 格式的托管字体文件。默认情况下,可从以下地址获取字体:https://doc.geoscene.cn/resources/fonts。可通过设置 geosceneConfig.fontsUrl 属性来配置 URL。请参阅以下可用的字体系列。

FeatureLayer、CSVLayer 和 StreamLayer 的字体

Font.familyFont.styleFont.weight 属性的支持基于 .pbf 格式的托管字体文件。默认情况下,可用字体大多与 GeoScene 矢量底图使用的字体相同。 这些字体可通过 https://doc.geoscene.cn/resources/fonts 获得。通过设置 geosceneConfig.fontsUrl 属性,可以将 URL 配置为指向您自己的字体资源。

如果 Font 不可用,则将使用默认字体系列,即 sans-serif。这使用 Arial Unicode MS 字体文件。

具有 bolditalic 或两者的字体需要在 Font.styleFont.weight 属性中设置这些属性,而不是在 Font.family 中进行设置。要查看字体所支持的字符类型 (例如 Latin、Cyrillic、CJKV),可在 Microsoft TypographyGoogle Fonts 中搜索字体名称。

注意,这些字体也适用于 TextSymbol,无论是将其用作 2D MapView 中的图形还是用作标注。

2D MapView 中当前支持的字体列表:

字体预览代码
Abril Fatface Regular复制
Alegreya Bold复制
Alegreya Bold Italic复制
Alegreya Italic复制
Alegreya Regular复制
Alegreya SC Bold复制
Alegreya SC Italic复制
Alegreya SC Regular复制
Alegreya Sans Italic复制
Amarante Regular复制
Amatic SC Bold复制
Arial Bold复制
Arial Bold Italic复制
Arial Italic复制
Arial Regular复制
Arial Unicode MS Bold复制
Arial Unicode MS Regular复制
Atomic Age Regular复制
Audiowide Regular复制
Avenir Next LT Pro Bold复制
Avenir Next LT Pro Bold Italic复制
Avenir Next LT Pro Demi Italic复制
Avenir Next LT Pro Italic复制
Avenir Next LT Pro Light复制
Avenir Next LT Pro Light Italic复制
Avenir Next LT Pro Medium复制
Avenir Next LT Pro Medium Bold复制
Avenir Next LT Pro Medium Bold Italic复制
Avenir Next LT Pro Medium Italic复制
Avenir Next LT Pro Regular复制
Avenir Next LT Pro Regular Bold复制
BellTopo Sans Bold复制
BellTopo Sans Bold Italic复制
BellTopo Sans Italic复制
BellTopo Sans Regular复制
Belleza Regular复制
Black Ops One Regular复制
Cabin Sketch Bold复制
Cabin Sketch Regular复制
Coming Soon Regular复制
FGDC GeoAge Regular复制
Homemade Apple Regular复制
IM FELL DW Pica PRO Italic复制
IM FELL DW Pica PRO Regular复制
Josefin Sans Regular复制
Josefin Sans Semibold Italic复制
Josefin Slab Bold复制
Josefin Slab Bold Italic复制
Josefin Slab Italic复制
Josefin Slab Light Italic复制
Josefin Slab Regular复制
Josefin Slab Semibold Italic复制
Josefin Slab Thin Italic复制
Just Another Hand Regular复制
Kranky Regular复制
Life Savers Bold复制
Loved by the King Regular复制
Merriweather Bold复制
Merriweather Bold Italic复制
Merriweather Italic复制
Merriweather Regular复制
Meta Pro Bold复制
Meta Pro Bold Italic复制
Meta Pro Book复制
Meta Pro Book Italic复制
Meta Pro Cond Xbold复制
Meta Pro Cond Xbold Italic复制
Meta Pro Medium复制
Meta Pro Medium Italic复制
Montserrat Bold复制
Montserrat Italic复制
Montserrat Medium Italic复制
Montserrat Regular复制
Montserrat Semibold Italic复制
Noto Sans Bold复制
Noto Sans Bold Italic复制
Noto Sans Italic复制
Noto Sans Regular复制
Noto Serif Bold复制
Noto Serif Bold Italic复制
Noto Serif Italic复制
Noto Serif Regular复制
Old Standard TT Bold复制
Old Standard TT Italic复制
Old Standard TT Regular复制
Orbitron Bold复制
Orbitron Regular复制
Oregano Italic复制
Oregano Regular复制
Oswald Bold复制
Oswald Regular复制
Pacifico Regular复制
Palatino Linotype Regular复制
Playfair Display Black复制
Playfair Display Bold复制
Playfair Display Bold Italic复制
Playfair Display Italic复制
Playfair Display Regular复制
Playfair Display SC Bold复制
Playfair Display SC Regular复制
Redressed Regular复制
Risque Regular复制
Roboto Condensed Italic复制
Roboto Condensed Light Italic复制
Rye Regular复制
Special Elite Regular复制
Syncopate Bold复制
Syncopate Regular复制
Tangerine Regular复制
Ubuntu Bold复制
Ubuntu Bold Italic复制
Ubuntu Condensed Regular复制
Ubuntu Italic复制
Ubuntu Light复制
Ubuntu Light Bold复制
Ubuntu Light Bold Italic复制
Ubuntu Light Italic复制
Ubuntu Medium Italic复制
Ubuntu Mono Bold复制
Ubuntu Mono Bold Italic复制
Ubuntu Mono Italic复制
Ubuntu Mono Regular复制
Ubuntu Regular复制
UnifrakturCook Bold复制
Vast Shadow Regular复制
Walter Turncoat Regular复制

MapImageLayer

通过在 Sublayer 类上设置 labelingInfo 属性,MapImageLayer 可支持标注。labelingInfo 属性被指定为 LabelClass 对象数组,其中包含 labelExpressionlabelPlacementTextSymbolTextSymbol 类支持更改标注图形的 colorfonthalo 和其他属性。点、折线和面均支持标注。

示例:MapImageLayer - 标注子图层要素

MapImageLayer 的字体

MapView 中的 MapImageLayers 支持的字体系列取决于安装在发布图层的 GeoScene Server 上的字体。要检查 GeoScene Server 上的可用字体,请运行 Home > services > System > PublishingTools (GPServer) 下的 Available Fonts 任务 (需要管理员访问)。要添加新字体,该字体必须安装在您的计算机上,并可通过使用 GeoScene Desktop 注册它来访问 GeoScene Server。如果应用程序使用了未安装的字体,则 Font 类将实现一个回退机制,该机制将使用默认字体系列值,即 sans-serif

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息