OpenLayers Extension ol:ext FontSymbol 如何将多个字符添加到字形中?
OpenLayers Extension ol:ext FontSymbol how to add multiple chars into glyph?
我正在使用 OpenLayers 6 和 ol:ext FontSymbol 和免费的 FontAwesome 来创建标记。
我需要将数字字符放入标记的中心,
它仅适用于 0-9 个字符,但对于超过 1 个字符,它不起作用并且只显示“1”,就像字形只接受 1 个字符一样。
这是我的风格:
var styles = new ol.style.Style({
image: new ol.style.FontSymbol({
glyph: number.toString(),
form: 'marker',
radius: 20,
fontSize: 0.2,
fontStyle: 'sans-serif',
rotation: 0,
rotateWithView: false,
color: 'white',
fill: new ol.style.Fill({
color: colorparam.toString(),
})
}),
});
我做错了吗?或者有什么更好的方法吗?
我尝试添加原始样式 - 图像后的文本,但所有标记本身上方显示的所有标记的字符。
var styles = new ol.style.Style({
image: new ol.style.FontSymbol({
glyph: '',
form: 'marker',
radius: 20,
fontSize: 0.2,
fontStyle: 'sans-serif',
rotation: 0,
rotateWithView: false,
color: 'white',
fill: new ol.style.Fill({
color: colorparam.toString(),
})
}),
text: new ol.style.Text({
text: number.toString(),
scale: 1.2,
fill: new ol.style.Fill({
color: "#fff"
}),
}),
});
我选择使用字体而不是渲染图像/图标文件,因为我认为字体源将加载一次并且比图像更轻。
ol-ext FontSymbol 旨在显示字体图标,并且只绘制您给它的字符串的第一个字符...符号本身显示为图像,因此在 ol 文本样式下绘制。
您可以在 ol-ext (https://github.com/Viglino/ol-ext/issues) 请求一个新功能来显示全文字符串而不是符号中的字符。
我正在使用 OpenLayers 6 和 ol:ext FontSymbol 和免费的 FontAwesome 来创建标记。 我需要将数字字符放入标记的中心, 它仅适用于 0-9 个字符,但对于超过 1 个字符,它不起作用并且只显示“1”,就像字形只接受 1 个字符一样。
这是我的风格:
var styles = new ol.style.Style({
image: new ol.style.FontSymbol({
glyph: number.toString(),
form: 'marker',
radius: 20,
fontSize: 0.2,
fontStyle: 'sans-serif',
rotation: 0,
rotateWithView: false,
color: 'white',
fill: new ol.style.Fill({
color: colorparam.toString(),
})
}),
});
我做错了吗?或者有什么更好的方法吗? 我尝试添加原始样式 - 图像后的文本,但所有标记本身上方显示的所有标记的字符。
var styles = new ol.style.Style({
image: new ol.style.FontSymbol({
glyph: '',
form: 'marker',
radius: 20,
fontSize: 0.2,
fontStyle: 'sans-serif',
rotation: 0,
rotateWithView: false,
color: 'white',
fill: new ol.style.Fill({
color: colorparam.toString(),
})
}),
text: new ol.style.Text({
text: number.toString(),
scale: 1.2,
fill: new ol.style.Fill({
color: "#fff"
}),
}),
});
我选择使用字体而不是渲染图像/图标文件,因为我认为字体源将加载一次并且比图像更轻。
ol-ext FontSymbol 旨在显示字体图标,并且只绘制您给它的字符串的第一个字符...符号本身显示为图像,因此在 ol 文本样式下绘制。
您可以在 ol-ext (https://github.com/Viglino/ol-ext/issues) 请求一个新功能来显示全文字符串而不是符号中的字符。