OpenLayers 地图控件属性Text类型

55 阅读1分钟

在昨天的文章OpenLayers全屏控件介绍中,控件属性类型Text没有完整的介绍清楚,从官网上查询是有一个Text类型,属于样式类。我之前以为文档中所标注的Text类型即为该类型。经过读者提醒,发现并不是文档中的样式类,而是属于DOM文本节点类型,在此说明一下。

const textStyle new ol.style.Text({
    text:"全屏"
})
const fullScreen new ol.control.FullScreen({
    className"custome-full-screen",
    labelActive: textStyle
})
map.addControl(fullScreen)

如果直接使用样式类Text的话,控制台会报错,就是该参数不是节点类型。
通过createTextNode创建文本节点可以正常使用。

// 创建文本节点
const textNode = document.createTextNode("全屏")

const fullScreen new ol.control.FullScreen({
    className"custome-full-screen",
    labelActive: textNode
})
map.addControl(fullScreen)

MDN上查看,该Text类型为文本节点。
也可以通过Text构造函数创建文本节点。

const textNode new Text("全")
const fullScreen new ol.control.FullScreen({
    className"custome-full-screen",
    labelActive: textNode
})
map.addControl(fullScreen)