如何使用 mapbox 表达式设置 "text-font"
How to set "text-font" with mapbox expressioins
我正在尝试借助 font_size 字段中的 Mapbox 表达式来设置字体。
这对我不起作用(“文本字体”的数据表达式无效。输出值必须作为表达式中的文字包含)
"text-font": [
"case",
['!=', ["get", "text_font"], ""],
["get", "text_font"],
['literal',['DIN Offc Pro Italic', 'Arial Unicode MS Regular']]
],
所以我想从 text_font: ["Open Sans Semibold Italic"]
获取文本字体,如果它是空的
text_font: ""
使用 ['DIN Offc Pro Italic', 'Arial Unicode MS Regular']
谢谢
我认为错误消息是在告诉您您需要知道但不想听到的内容:
Invalid data expression for "text-font". Output values must be contained as literals within the expression.
输出值(即要设置的字体)必须指定为文字 - 不是从功能派生的 属性。
所以你可以做这样的事情作为解决方法:
"text-font": [
"match", ["get", "text_font"],
"Open Sans Semibold Italic", ["literal", ["Open Sans Semibold Italic"]],
"Arial", ["literal", ["Arial"]],
// ... all possible values ...
['literal',['DIN Offc Pro Italic', 'Arial Unicode MS Regular']]
]
],
我正在尝试借助 font_size 字段中的 Mapbox 表达式来设置字体。 这对我不起作用(“文本字体”的数据表达式无效。输出值必须作为表达式中的文字包含)
"text-font": [
"case",
['!=', ["get", "text_font"], ""],
["get", "text_font"],
['literal',['DIN Offc Pro Italic', 'Arial Unicode MS Regular']]
],
所以我想从 text_font: ["Open Sans Semibold Italic"]
获取文本字体,如果它是空的
text_font: ""
使用 ['DIN Offc Pro Italic', 'Arial Unicode MS Regular']
谢谢
我认为错误消息是在告诉您您需要知道但不想听到的内容:
Invalid data expression for "text-font". Output values must be contained as literals within the expression.
输出值(即要设置的字体)必须指定为文字 - 不是从功能派生的 属性。
所以你可以做这样的事情作为解决方法:
"text-font": [
"match", ["get", "text_font"],
"Open Sans Semibold Italic", ["literal", ["Open Sans Semibold Italic"]],
"Arial", ["literal", ["Arial"]],
// ... all possible values ...
['literal',['DIN Offc Pro Italic', 'Arial Unicode MS Regular']]
]
],