2017-03-14 14 views
0

デフォルトの "text-max-width"ラベルを上書きして、独自のカスタム改行をシンボル機能ラベルに挿入する方法はありますか?残念ながら私の現在の使用では、 "text-max-width"は厳密にem単位で定義され、実際の文字制限ではありません。シンボルレイヤーラベルにカスタム改行を挿入するにはどうすればよいですか?

私は特定の文字を打ち破ろうとしていて、 "text-max-width"を0に設定すると改行が制御されることを期待していました。現在、 "text-max-width" = 0の間に文字列内に "\ n"を挿入すると、それらのカスタムブレークは無視され、ラベルは代わりに1行として描画されます。

現在、mapbox-gl-jsでこれを回避する方法があります。またはこのタイプの機能が新しい機能になるのでしょうか?

答えて

0

\ntext-fieldは、v0.24.0からサポートされています。 text-max-widthdefaults to 10em。 0に設定すると、v0.33.1の\nを含むすべての折り返しが無効になります。

これは間違っているかもしれませんが、text-max-widthInfinityに設定するとうまくいくはずです。

テキストラッピングを担当するコードは、shapeText(..., maxSize, ...)で始まるsrc/symbol/shaping.jsです。クイックルックでは、Infinityを使っても問題は見られませんでしたが、私は他の方法も見つけませんでした。

+0

優秀!その「インフィニティ」は、そのトリックをしました。私のラベルアルゴリズムは現在、期待どおりに動作しています。私はsrc/symbol/shaping.jsを調査します。もしこれについて何か他のものを手動で変更する必要があれば。 – Stooky

関連する問題