添加一个控件,想要单独的设置样式,然后发现,可以获取到这个控件的dom元素
const toolButton = new mars3d.control.ToolButton({
title: "示例按钮bookmark",
icon: "图片路径",
insertIndex: 1, // 插入的位置顺序, 1是home按钮后面
click: () => {
// 控件的dom元素
console.log(toolButton.container)
// dom元素里面的第一个子元素,通常是控件的图片,可以直接修改src更换图片
console.log(toolButton.container.firstChild)
}
})
map.addControl(toolButton)
更换图片
toolButton.container.firstChild.src = "图片路径"
将图片换成文字
toolButton.container.innerHTML=`更换成文字`
设置其他样式:原生控制dom修改样式,添加class,去除class等等
还可以获取它的父元素
console.log(toolButton.parentContainer)
也有一些参数控制:
显示隐藏 --- toolButton.show = false