跳到主要内容

具备 commonLineSymbols 的匹配开发SDK还支持共同二维沿线图文:真实逐字弯线路径、目标归属、图文组合及共同预算。下文早期点符号范围与尚待沿线事项,应按此有限子集理解;复杂整形、倾斜/球面/地形与完整道路拼接仍待完成。

同层图标与文字

共同 symbol 图层现在可同时设置 icon-image 和 text-field。图片与字体仍用各自图集;同一点位组件一起检查碰撞,不会与自己的图标/文字互相避让。查询返回同一要素一次,可命中任意已显示组件。

// 已用addImage注册marker,points是带name属性的点图源。
map.addLayer({ id: 'places', type: 'symbol', source: 'points',
  layout: { 'icon-image': 'marker', 'text-field': ['get', 'name'],
    'text-size': 18, 'text-offset': [2, 0] },
  paint: { 'text-color': '#2563eb' }
});
await map.sqs.flush({ render: true });

图片与文字独立使用 icon/text-allow-overlap、icon/text-ignore-placement 和各自padding。所有有效组件在插入碰撞盒前共同检查;默认任一需要避让的组件被挡,整组隐藏。icon-optional: true允许图标被挡时保留可放置文字;text-optional: true允许文字被挡时保留可放置图标。两者默认false,各自被挡的组件仍不显示。透明、空文字或缺图片组件不参与,剩余组件可独立显示。图层顺序、排序、MultiPoint、属性编辑、缺图事件和身份规则沿用已有接口。

icon-opacity/text-opacity分别控制组件。文字offset仍以em计;图片及文字旋转和锚点各自独立。沿用每图16K点、65536字形和1M碰撞比较预算。共同文字已使用配置的外部PBF字形服务。格式化混排、沿线标注、字体文件、复杂文字和三维布局仍待实现;未支持参数明确拒绝。

网页原始SDK使用 view.flush();桌面/动态库持续脚本使用相同代码。Linux原生QuickJS、网页主线程和Worker已核对共同脚本及实际图文像素,设备检查单独记录。