Skip to content

自定义图标 ​

功能描述 ​

自定义图标用于在地标图、三维标注等支持 iconName 参数的图层中,使用场景自备的图标资源。本文说明自定义图标的文件要求、注册方式与引用方法。

适用范围:地标图(landmarkLayer)、聚合地标图、三维标注(3DMarker)等支持 icon 资源的图层。普通建筑、模型不适用。

iconName 的取值 ​

支持 icon 的图层参数中,iconName 按以下优先级解析:

  1. 内置图标名:命中内置图标数据表(DT_Icon)的名称,如 utilitypole、firehydrant。
  2. custom- 前缀:以 custom- 开头的名称,进入自定义图标表(DT_CustomIcon)解析,如 custom-redCar。
  3. URL:合法的图片直连地址,运行时异步下载。
  4. none:显式表示不显示图标。

自定义图标注册方式 ​

自定义图标通过 customIcons.json 注册清单 + 图标图片文件共同定义,二者位于 UE 工程插件目录 Plugins/TuguanForUnreal/Content/Settings/CustomIcons/ 下。

图片文件要求 ​

  • 格式:PNG;
  • 命名:与注册记录中的 path 字段一致,建议与 name 同名;
  • 与 customIcons.json 放在同一目录。

customIcons.json 格式 ​

顶层为 customIcons 数组,每条记录字段如下(字段与解析结构 FCustomIconsInfo 一一对应):

字段类型必填说明
namestring是图标名。JS 侧通过 custom- + name 引用
pathstring是PNG 文件名,相对本目录,如 redCar.png
widthnumber否显示宽度(像素)
heightnumber否显示高度(像素)
offsetXnumber否水平偏移
offsetYnumber否垂直偏移
PlannerScalenumber否平面坐标(GIS 局部/平面)下的缩放系数
GlobelScalenumber否球面坐标(GIS 全球/球心模型)下的缩放系数
textParamobject否标签样式,见下表

textParam 字段:

字段类型说明
fontFamilystring字体,如 MSYH_Font(微软雅黑)、MSYHBD_Font(微软雅黑粗体)
fontSizenumber字号
backgroundColorstring标签背景色,十六进制,如 #FF0000
offsetXnumber标签水平偏移
offsetYnumber标签垂直偏移
positionstring标签位置,如 Up、Down
paddingarray标签内边距,如 [10,4,10,4]

注册示例 ​

摘自工程内置示例:

JSON
{
  "customIcons": [
    {
      "name": "redCar",
      "path": "redCar.png",
      "width": 128,
      "height": 128,
      "offsetX": 50,
      "offsetY": -50,
      "PlannerScale": 0.6,
      "GlobelScale": 3,
      "textParam": {
        "fontFamily": "MSYHBD_Font",
        "fontSize": 20,
        "backgroundColor": "#FF0000",
        "offsetX": 0.0,
        "offsetY": 1.2,
        "position": "Up",
        "padding": [10, 4, 10, 4]
      }
    }
  ]
}

注册后,图层指令的 iconName 传 custom-redCar 即可引用。

内置图标分类 ​

内置图标位于 /TuguanForUnreal/DataLayers/Icons/NewIcon/ 下,按用途分七类子目录:

目录用途
PublicFacilities公共设施
Personnel人员
General通用
Aircraft飞行器
Toponym地名
Event事件
Traffic交通

流渲染资源服务器来源 ​

(待补充)