分段富文本标注
具备 commonLineSymbols 的匹配开发SDK还支持共同二维沿线图文:真实逐字弯线路径、目标归属、图文组合及共同预算。下文早期点符号范围与尚待沿线事项,应按此有限子集理解;复杂整形、倾斜/球面/地形与完整道路拼接仍待完成。
共同点文字支持 format 文本段。段 font-scale 相对根 text-size 设置字号,text-color 覆盖根文字颜色,并继续乘以根 text-opacity。各段保留真实字形大小和颜色,在同一标签内统一换行、对齐、锚点、旋转、碰撞和查询。
map.addSource('labels', {
type: 'geojson',
data: {
type: 'Feature', id: 7,
properties: {name: 'AA', detail: 'BB'},
geometry: {type: 'Point', coordinates: [0, 0]}
}
});
map.addLayer({
id: 'formatted', type: 'symbol', source: 'labels',
layout: {
'text-size': 24,
'text-field': ['format',
['get', 'name'], {'font-scale': 1.5, 'text-color': '#ff0000'},
['get', 'detail'], {'font-scale': 0.5, 'text-color': '#0000ff'}
]
}
});
await map.sqs.flush({render: true});
段样式对象可以省略,省略时继承根字号和颜色。段内容、字号比例及颜色可使用共同表达式。case、match、coalesce 和 let/var 可以返回格式值与普通字符串,布局表达式继续使用整数缩放级别。支持 vertical-align: 'top' | 'center' | 'bottom',默认bottom;详见段垂直对齐。比例为0的段不生成字形;默认bottom的不同字号共享基线,其它对齐按所属行字号框移动。根颜色透明也不会隐藏具有不透明段色的字形。
共同能力 commonFormattedText 表示这里的文本段范围。每份格式值最多32段,文字合计最多256字符/4096字节;整个表达式最多32层/1024节点。字号比例须在0至16之间,最终段字号最多256 CSS像素,超限明确拒绝。原图集、字形数量与显示预算继续生效,失败更新保留原数据和画面。
段内字体栈已接通现有PBF字形服务;注册RGBA图片段已接通,SDF图片段明确拒绝。变量与分支已支持 let/var、match 和实际null回退;其它未知格式运算、复杂文字排版、沿线和三维组合仍未完成。普通字符串保留既有行为。本项目语法参考 MapLibre 的 format 规范,不表示已经完整兼容所有格式值与平台能力。