我正在使用Leaflet.heat在地图上制作热图,并且正在使用html和js调整选项。例如,我制作了一个滑块以使用以下脚本调整半径
function updateRadius(value) {
var x = Number(value);
heat.setOptions({radius: x}).redraw();
}
或
function updateRadius() {
var x = Number(document.getElementById("rad").value);
heat.setOptions({radius: x}).redraw();
}
这两项工作。 更新渐变时,类似
function updateGradient() {
heat.setOptions({gradient: {0.1: 'blue', 0.5: 'red'}}).redraw();
}
可行,但是我想使用滑块更改值,并使用文本输入更改颜色。我尝试过
function updateGradient() {
var a = Number(document.getElementById("a").value);
var b = Number(document.getElementById("b").value);
var texta = '\'' + document.getElementById("texta").value + '\'';
var textb = '\'' + document.getElementById("textb").value + '\'';
heat.setOptions({gradient: {a: texta, b: textb}}).redraw();
}
和其他变体,但似乎无济于事。抱歉,如果不清楚,我真的是javascript新手
答案 0 :(得分:0)
使用{[a]: texta, [b]: textb}
代替{a: texta, b: textb}
是可行的。