Appearance
自定义图标
功能描述
自定义图标用于在地标图、三维标注等支持 iconName 参数的图层中,使用场景自备的图标资源。本文说明自定义图标的文件要求、注册方式与引用方法。
适用范围:地标图(landmarkLayer)、聚合地标图、三维标注(3DMarker)等支持 icon 资源的图层。普通建筑、模型不适用。
iconName 的取值
支持 icon 的图层参数中,iconName 按以下优先级解析:
- 内置图标名:命中内置图标数据表(DT_Icon)的名称,如
utilitypole、firehydrant。 custom-前缀:以custom-开头的名称,进入自定义图标表(DT_CustomIcon)解析,如custom-redCar。- URL:合法的图片直连地址,运行时异步下载。
none:显式表示不显示图标。
自定义图标注册方式
自定义图标通过 customIcons.json 注册清单 + 图标图片文件共同定义,二者位于 UE 工程插件目录 Plugins/TuguanForUnreal/Content/Settings/CustomIcons/ 下。
图片文件要求
- 格式:PNG;
- 命名:与注册记录中的
path字段一致,建议与name同名; - 与
customIcons.json放在同一目录。
customIcons.json 格式
顶层为 customIcons 数组,每条记录字段如下(字段与解析结构 FCustomIconsInfo 一一对应):
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
name | string | 是 | 图标名。JS 侧通过 custom- + name 引用 |
path | string | 是 | PNG 文件名,相对本目录,如 redCar.png |
width | number | 否 | 显示宽度(像素) |
height | number | 否 | 显示高度(像素) |
offsetX | number | 否 | 水平偏移 |
offsetY | number | 否 | 垂直偏移 |
PlannerScale | number | 否 | 平面坐标(GIS 局部/平面)下的缩放系数 |
GlobelScale | number | 否 | 球面坐标(GIS 全球/球心模型)下的缩放系数 |
textParam | object | 否 | 标签样式,见下表 |
textParam 字段:
| 字段 | 类型 | 说明 |
|---|---|---|
fontFamily | string | 字体,如 MSYH_Font(微软雅黑)、MSYHBD_Font(微软雅黑粗体) |
fontSize | number | 字号 |
backgroundColor | string | 标签背景色,十六进制,如 #FF0000 |
offsetX | number | 标签水平偏移 |
offsetY | number | 标签垂直偏移 |
position | string | 标签位置,如 Up、Down |
padding | array | 标签内边距,如 [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 | 交通 |
流渲染资源服务器来源
(待补充)