如何在符号图层标签上插入自定义换行符?

How can I inject custom line breaks on a symbol layer label?

有没有办法覆盖默认的 "text-max-width" 标签换行并在符号特征标签上插入我自己的自定义换行符?不幸的是,对于我目前的使用,"text-max-width" 是由 em 单位严格定义的,而不是实际的字符限制。

我试图在特定字符处换行,并希望将 "text-max-width" 设置为 0 可以让我控制换行符。目前,如果我在 "text-max-width" = 0 时在我的字符串中注入“\n”,这些自定义中断将被忽略,标签将被绘制为单行。

目前有没有办法在 mapbox-gl-js 中解决这个问题;或者这种类型的功能会是一项新功能吗?

澄清一下:text-field 中的 \nv0.24.0. text-max-width defaults to 10em 起受支持。在 v0.33.1.

中将其设置为 0 会禁用所有换行,包括 \n

这可能感觉不对,但将 text-max-width 设置为 Infinity 应该可行。

负责文本换行的代码在 src/symbol/shaping.js 中,从 shapeText(..., maxSize, ...) 开始。快速浏览并没有发现使用 Infinity 有任何问题,但我也没有发现其他方法。